discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=534c7cde1175426a9c05c5b6738a079d70f0a1df
commit 534c7cde1175426a9c05c5b6738a079d70f0a1df Author: Mike Blumenkrantz <[email protected]> Date: Wed Aug 19 14:49:34 2015 -0400 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 070bf86..45cd243 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -2840,6 +2840,10 @@ _e_menu_cb_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event) return ECORE_CALLBACK_PASS_ON; } + _e_menu_lock = 1; + _mouse_up_feed(e_comp_get(NULL)->evas, 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 @@ -2858,6 +2862,7 @@ _e_menu_cb_mouse_up(void *data __UNUSED__, int type __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; --
