summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiscomfitor <michael.blumenkrantz@gmail.com>2013-09-20 16:00:27 +0100
committerdiscomfitor <michael.blumenkrantz@gmail.com>2013-09-20 16:00:27 +0100
commit77b2c5a7f4d13bc9b6811f81e85b0c7af32d722f (patch)
tree07f3843f504877baf67785837e742ad6a4f0d658
parentb8f50a95f73f06aa11d809a0bddb8647bf23b698 (diff)
downloadenlightenment-77b2c5a7f4d13bc9b6811f81e85b0c7af32d722f.tar.gz
bugfix: check mouse location when clicking menu items, only activate menu if mouse is inside menu when clicking
T164
-rw-r--r--ChangeLog4
-rw-r--r--src/bin/e_menu.c11
2 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8cbee4abe0..a0a957189a 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 acae3a3289..3556bede86 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)