discomfitor pushed a commit to branch enlightenment-0.17.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=77b2c5a7f4d13bc9b6811f81e85b0c7af32d722f

commit 77b2c5a7f4d13bc9b6811f81e85b0c7af32d722f
Author: discomfitor <michael.blumenkra...@gmail.com>
Date:   Fri Sep 20 16:00:27 2013 +0100

    bugfix: check mouse location when clicking menu items, only activate menu 
if mouse is inside menu when clicking
    
    T164
---
 ChangeLog        |  4 ++++
 src/bin/e_menu.c | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 8cbee4a..a0a9571 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-09-20 Mike Blumenkrantz
+
+        * Check mouse location when clicking menus, only activate items when 
clicking in the menu
+
 2013-09-19 Mike Blumenkrantz
 
         * Fix bug where new files could not be created repeatedly
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index acae3a3..3556bed 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -2969,7 +2969,16 @@ _e_menu_cb_mouse_up(void *data __UNUSED__, int type 
__UNUSED__, void *event)
          */
      }
    else
-     ret = _e_menu_active_call();
+     {
+        E_Menu *m = _e_menu_active_get();
+
+        if (m && E_INSIDE(ev->root.x, ev->root.y,
+                          m->zone->x + m->cur.x,
+                          m->zone->y + m->cur.y,
+                          m->zone->x + m->cur.x + m->cur.w,
+                          m->zone->y + m->cur.y + m->cur.h))
+          ret = _e_menu_active_call();
+     }
    _e_menu_activate_maybe_drag = 0;
    _e_menu_activate_dragging = 0;
    if (ret == 1)

-- 


Reply via email to