Ticket #3775 (closed defect: fixed)

Opened 4 months ago

Last modified 4 months ago

Pressing <right> and <left> in the hotlist dialog doesn't refresh it

Reported by: mooffie Owned by: mooffie
Priority: major Milestone: 4.8.19
Component: mc-core Version: master
Keywords: Cc:
Blocked By: Blocking:
Branch state: merged Votes for changeset: committed-master

Description

The problem

In the hotlist dialog: pressing <right> to enter a group, or <left> on a ".." to exit a group, doesn't redraw the listbox to show its new contents. (That's in contrast to pressing ENTER, which does redraw the listbox.)

The cause

A call to dlg_select_widget() (old API) was replaced with a call to widget_select() (new API). The functions aren't quite the same: widget_select() is a no-op if the widget is already selected (as when pressing <right>, <left>), and so it doesn't redraw the widget.

The solution

We emulate the old behavior (by calling widget_redraw() conditionally).

Change History

comment:1 Changed 4 months ago by mooffie

  • Status changed from new to accepted
  • Owner set to mooffie
  • Branch state changed from no branch to on review

comment:2 follow-up: ↓ 8 Changed 4 months ago by mooffie

(Shouldn't there be a ticket "Release mc 4.8.19", which we could mark this ticket as blocking?)

comment:3 Changed 4 months ago by mooffie

(Note to self: "Signed-off-by:" is missing.)

comment:4 Changed 4 months ago by andrew_b

  • Votes for changeset set to andrew_b
  • Branch state changed from on review to approved

comment:5 Changed 4 months ago by mooffie

  • Status changed from accepted to testing
  • Votes for changeset changed from andrew_b to committed-master
  • Resolution set to fixed
  • Branch state changed from approved to merged

comment:6 Changed 4 months ago by mooffie

  • Status changed from testing to closed

I updated NEWS-4.8.19 becuase the bug had to be introduced in 4.8.18.

(I don't have the energy to compile 4.8.18 to verify this assumption, but since the new widget_select() was introduced in 36cc88b5f248, and version 4.8.18 was released shortly later, it's logical to asume it contained the bug.)

comment:7 follow-up: ↓ 9 Changed 4 months ago by zaytsev

Nit: Ticket #3775: missing in the commit message. Please don't forget it in the future.

comment:8 in reply to: ↑ 2 Changed 4 months ago by zaytsev

Replying to mooffie:

(Shouldn't there be a ticket "Release mc 4.8.19", which we could mark this ticket as blocking?)

#3693

comment:9 in reply to: ↑ 7 Changed 4 months ago by mooffie

Replying to zaytsev:

Nit: Ticket #3775: missing in the commit message. Please don't forget it in the future.


Oops.

I need to look into git's pre-push hook sometime. I could use it to ensure "Ticket:", "Signed-off-by:", and code indentation.

comment:10 Changed 4 months ago by zaytsev

I need to look into git's pre-push hook sometime. I could use it to ensure "Ticket:", "Signed-off-by:", and code indentation.

The indentation is now checked by Travis every time you push to the mc repository, and so if one happens to mess something, a friendly email from Travis will take care of it, and you have to push a feature branch first so it happens pretty much automagically.

If you decide to invest time in a hook, then it would be great if you could make a maint script out of it, so that I can add it to Travis. Basically, we could say any branch that matches ^[0-9]+_.+$ or something should have Ticket #[0-9]+: in the first commit...

Same for "Signed-off:" tags; I would really prefer this to be checked by Travis, because then not only you, but everybody will benefit without any extra setup effort.

Note: See TracTickets for help on using tickets.