Ticket #3718 (closed defect: fixed)

Opened 4 months ago

Last modified 3 weeks ago

Options/Layout/Equal split gets reverted

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

Description

Open Options -> Layout, toggle Equal split.

Press Up or Shift+Tab to move the focus up to the Vertical/Horizontal? radiobuttons. Equal split gets reverted to its previous value.

Or: Press the Down arrow or Tab about 10 times until the focus cycles through and enters Vertical/Horizontal? radiobuttons. Again: Equal split gets reverted.

(Pressing e.g. Down and then Up properly causes the new value to stick.)

I couldn't find any other field in Options that behaves this way.

Attachments

3718-Options-Layout-Equal-split-gets-reverted.patch (1.7 KB) - added by mooffie 4 months ago.

Change History

comment:1 Changed 4 months ago by egmont

Related tickets: #3716, #3717.

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

I see that radios no longer explicitly send MSG_NOTIFY to the parent when they change. It happens "by chance": in #3721 I described how pressing a key indirectly, via MSG_CURSOR, causes the widget to re-focus... which in its turn sends MSG_NOTIFY.

@Andrew:

  • Why don't we go back to the happy old days when focusing a widget didn't sent MSG_NOTIFY? Or perhaps there were never such days? Whatever. Perhaps we should create MSG_NOTIFY_ON_FOCUS till the snafu is cleared up? I wasn't here when you introduced these last changes so I'm not familiar with them.
  • I see that radios/buttons/chewckboxes do send_message (w->owner, w, MSG_POST_KEY, ' ', NULL) on MSG_MOUSE_CLICK. Do you happen to know what that's for?

Changed 4 months ago by mooffie

comment:3 Changed 4 months ago by mooffie

(I haven't tested the patch thoroughly.)

comment:4 Changed 4 months ago by mooffie

(I attached the patch just because "a patch is worth a thousand words". I'd have preferred for the MSG_NOTIFY[MSG_FOCUS] to go away.)

comment:5 in reply to: ↑ 2 Changed 4 months ago by andrew_b

Replying to mooffie:

  • Why don't we go back to the happy old days when focusing a widget didn't sent MSG_NOTIFY? Or perhaps there were never such days? Whatever. Perhaps we should create MSG_NOTIFY_ON_FOCUS till the snafu is cleared up? I wasn't here when you introduced these last changes so I'm not familiar with them.

I answered in ticket:3716#comment:3.

  • I see that radios/buttons/chewckboxes do send_message (w->owner, w, MSG_POST_KEY, ' ', NULL) on MSG_MOUSE_CLICK. Do you happen to know what that's for?

I can't say. It was left as is in the new mouse API.

comment:6 Changed 3 months ago by andrew_b

  • Status changed from new to accepted
  • Owner set to andrew_b
  • Branch state changed from no branch to on review
  • Milestone changed from Future Releases to 4.8.19

comment:7 Changed 3 months ago by andrew_b

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

comment:8 Changed 3 months ago by andrew_b

  • 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:9 Changed 3 months ago by andrew_b

  • Status changed from testing to closed

comment:10 Changed 3 weeks ago by gnusupport

mc --version
GNU Midnight Commander 4.8.18
Built with GLib 2.50.1
Using the S-Lang library with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With support for X11 events
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

If I mark Equal split to [x] it is not making any equal split in this version, it cannot be reset back to equal.

comment:11 Changed 3 weeks ago by zaytsev-work

Of course it doesn't, the bug is fixed in master and the fix will be released with 4.8.19.

Note: See TracTickets for help on using tickets.