discomfitor pushed a commit to branch enlightenment-0.19.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=534c7cde1175426a9c05c5b6738a079d70f0a1df

commit 534c7cde1175426a9c05c5b6738a079d70f0a1df
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 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;
 

-- 


Reply via email to