Mirror of Ardour Source Code
Find a file
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
doc Tweak doxygen doc (include timestamp, fix folder names) 2024-05-31 15:49:41 +02:00
gtk2_ardour Hide region peak cursor when mouse leaves regions or canvas 2024-07-15 15:34:26 +02:00
headless Localize stripped down gtk2 2024-01-06 21:52:48 +01:00
libs fix a likely logic error in GtkMenu handling of enter events 2024-07-15 11:09:59 -06:00
luasession Localize stripped down gtk2 2024-01-06 21:52:48 +01:00
msvc_extra_headers Fix various typos 2022-04-08 19:51:02 +02:00
MSVCardour3 remove midi_scroomer.h from MSVC project file 2023-09-10 18:20:35 -06:00
MSVCMixbus3 Initial changes needed for building Mixbus (with MSVC) as version 5 2018-09-10 07:14:59 +01:00
MSVCvst_scan Add/remove source(s) in our MSVC project (vst2_scanner) 2021-07-05 10:25:35 +01:00
session_utils Prepare for API removal 2024-07-10 15:39:01 +02:00
share fix previous commit to Kurzweil K2700 MIDNAM 2024-07-01 22:44:51 -06:00
tools Windows installer: update links to manual 2024-06-06 15:25:50 +02:00
.dir-locals.el Only use .dir-locals.el to set tab indentation (or not, for python). 2011-04-06 16:33:43 +00:00
.gitattributes Add a Readme pertaining to GH release tarballs 2017-04-22 16:04:35 +02:00
.gitignore Localize stripped down gtk2 2024-01-06 21:52:48 +01:00
ardour.1 Update tracker/reference URLs to prefer HTTPs 2022-10-24 04:59:20 +02:00
COPYING add plugin clarification to COPYING 2023-04-26 13:28:29 -06:00
nutempo-todo todo list text for nutempo-related tasks 2021-08-16 13:41:49 -06:00
PACKAGER_README fixes for various consistency/settings issues in monitor section; minor edit to PACKAGER_README 2010-03-17 16:01:58 +00:00
README Directly use HTTPS 2021-03-23 23:27:45 +01:00
README-GITHUB.txt Update tracker/reference URLs to prefer HTTPs 2022-10-24 04:59:20 +02:00
system_config Empty system_config (pre-seed XML nodes, use built-in settings) 2017-03-02 19:37:36 +01:00
TRANSLATORS Update translation howto 2023-09-24 19:58:25 +02:00
waf upgrade waf to 2.0.26 (includes new autowaf.py version) 2023-09-23 12:09:52 -06:00
wscript Bump required boost version to 1.68 (for optional::has_value) 2024-05-15 18:50:17 +02:00

Please see the Ardour web site at https://ardour.org/ for all documentation..

For information on building ardour: 
      
     https://ardour.org/development.html