From 2cdb5a3b3f77d899224caa40c7989b522f1312dd Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 19 Aug 2015 14:49:34 -0400 Subject: [PATCH] feed mouse-up event during mouse down on menus this fixes the case where the mouse is moved while the mouse is pressed so that the selected menu item will continue to follow the mouse fix T2127 --- src/bin/e_menu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c index 68f677324..e6f81be75 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -2717,6 +2717,10 @@ _e_menu_cb_mouse_down(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) return ECORE_CALLBACK_PASS_ON; } + _e_menu_lock = 1; + e_comp_canvas_feed_mouse_up(0); + _e_menu_lock = 0; + /* Only allow dragging from floating menus for now. * The reason for this is that for non floating menus, * the mouse is already down and dragging, so the decision @@ -2735,6 +2739,7 @@ _e_menu_cb_mouse_up(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) unsigned int t; int ret = 0; + if (_e_menu_lock) return ECORE_CALLBACK_RENEW; ev = event; if (ev->window != _e_menu_win) return ECORE_CALLBACK_RENEW;