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) --