discomfitor pushed a commit to branch master.
commit 506cb8046d3b588cb2a70403806d86427d93f073
Author: Mike Blumenkrantz <[email protected]>
Date: Wed May 8 13:26:25 2013 +0100
force mouse up feed on menu ungrab to ensure it gets received
issue described in T89
---
src/bin/e_menu.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index 02ee793..ba7a0b3 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -110,6 +110,19 @@ static Ecore_Event_Handler *_e_menu_mouse_wheel_handler =
NULL;
static Eina_Bool _e_menu_lock = EINA_FALSE;
static Evas_Object *_e_menu_event_rect = NULL;
+static void
+_mouse_up_feed(Evas *e, Ecore_X_Time activate_time)
+{
+ int button_mask, i;
+
+ button_mask = evas_pointer_button_down_mask_get(e);
+ for (i = 0; i < 32; i++)
+ {
+ if ((button_mask & (1 << i)))
+ evas_event_feed_mouse_up(e, i + 1, EVAS_BUTTON_NONE, activate_time,
NULL);
+ }
+}
+
static Eina_List *
_e_active_menus_copy_ref(void)
{
@@ -381,19 +394,7 @@ e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int
y, int w, int h, int d
}
pmi = _e_menu_item_active_get();
if (pmi) e_menu_item_active_set(pmi, 0);
- {
- int button_mask, i;
- Evas *e;
-
- e = e_comp_get(m)->evas;
- button_mask = evas_pointer_button_down_mask_get(e);
- for (i = 0; i < 32; i++)
- {
- if ((button_mask & (1 << i)))
- evas_event_feed_mouse_up(e, i + 1, EVAS_BUTTON_NONE,
activate_time, NULL);
- }
-
- }
+ _mouse_up_feed(e_comp_get(m)->evas, activate_time);
}
EAPI void
@@ -1245,6 +1246,7 @@ e_menu_idler_before(void)
{
e_grabinput_release(0, _e_menu_win);
_e_menu_win = 0;
+ _mouse_up_feed(evas_object_evas_get(_e_menu_event_rect), 0);
E_FREE_FUNC(_e_menu_event_rect, evas_object_del);
}
}
--
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may