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;