ardour/libs
Paul Davis f8f6c89136 fix a likely logic error in GtkMenu handling of enter events
On macOS popping up a menu with a position function that leads the menu to be
under the mouse pointer generates the same initial set of enter events as on
linux, but this is then followed  by some leave events and then a repeat of the
same set of enter events.

this exposes what appears to be a logic error in gtk_menu_enter_notify().

Nonlinear enter events (i.e. where the menu pops up under the mouse, so the
mouse was never actually moved into the menu's window) should not cause a reset
of priv->seen_item_enter. This value, when true, is used to force the next
received button release event to be handle as an menu activation event. This
should only happen when the mouse has actually been moved by the user into the
menu (as already indicated in existing comments). The value has this effect by,
on the next enter event for a menu item, if already set, forcing
menu->activate_time to zero, which in turn will cause menu activation on button
up/release.

This bug doesn't appear on Linux (or Windows) because the event sequence
associated with a menu popup is different. The lack of another set of enter
events means that menu->activate_time is never reset, and so the behavior is as
expected.

This change makes the setting of priv->seen_item_enter be idempotent with
respect to non-linear enter events, which I believe is the intended behavior.
2024-07-15 11:09:59 -06:00
..
aaf Yet another attempt at gcc-14 lstat/realpath (#9703 PR #893) 2024-06-27 17:01:46 +02:00
appleutility wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
ardour Exclude monitor gain from mixer scenes 2024-07-15 00:43:51 +02:00
ardouralsautil wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
audiographer wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
auscan wscript: sanitize strings from fetch_*_revision_date early instead of applying str() all over 2023-10-15 10:47:16 -06:00
backends Fix reduced channelcount when restarting engine with different device 2024-07-10 15:39:01 +02:00
canvas do not plot ruler marks that are left of the current (scroll-adjusted) canvas edge 2024-05-29 14:13:47 -06:00
clearlooks-newer Localize stripped down gtk2 2024-01-06 21:52:48 +01:00
ctrl-interface midisurface: use correct virtual method for note off 2023-10-31 09:56:40 -06:00
evoral Fix guard point logic for editor_add_ordered API. 2024-07-12 00:45:37 +02:00
fluidsynth wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
fst Use proper _POSIX_C_SOURCE constant 2024-04-04 17:06:31 +02:00
gtkmm2ext Remove/fix unused namespace [forward] declarations (2/x) 2024-05-26 16:46:39 +02:00
hidapi wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
libltc wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
lua wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
midi++2 fix previous commit (typo) 2024-06-27 16:51:16 -06:00
panners wscript: don't add pointless -DHAVE_X for each mandatory subdir 2023-10-15 10:47:16 -06:00
pbd Exclude monitor gain from mixer scenes 2024-07-15 00:43:51 +02:00
plugins Pitch bend is not unreasonable 2024-04-09 02:10:19 +02:00
ptformat wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
qm-dsp wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
surfaces Fix ctrl surface shutdown sequence 2024-07-11 19:19:21 +02:00
temporal Fix BBT marker calculation when removing time 2024-05-14 03:20:04 +02:00
tk fix a likely logic error in GtkMenu handling of enter events 2024-07-15 11:09:59 -06:00
vamp-plugins wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
vamp-pyin wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
vfork wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
vst3 Use <atomic> instead of <stdatomic.h> in libc++ fix 2023-09-23 23:53:05 +02:00
waveview Localize stripped down gtk2 2024-01-06 21:52:48 +01:00
widgets Fix crash (invalid Track Drag) when starting automation value edit 2024-06-17 19:55:08 +02:00
zita-convolver wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00
zita-resampler wscript: drop traces of shutdown() handling 2023-10-15 10:47:16 -06:00