discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=2cdb5a3b3f77d899224caa40c7989b522f1312dd

commit 2cdb5a3b3f77d899224caa40c7989b522f1312dd
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
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 68f6773..e6f81be 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;
 

-- 


Reply via email to