From e690d705127a7d5eb369677f5ddde0cb8b2804c8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 19 Oct 2016 11:13:32 -0400 Subject: [PATCH] set ON_HOLD flag more accurately when activating gadget actions fixes handling of actions which have same binding as gadget site's container bindings --- src/bin/e_gadget.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c index e183da05d..6316a11d3 100644 --- a/src/bin/e_gadget.c +++ b/src/bin/e_gadget.c @@ -900,11 +900,16 @@ _site_mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_ E_Gadget_Config *zgc; E_Action *act; + if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; zgc = _gadget_at_xy(zgs, ev->output.x, ev->output.y, NULL); if (!zgc) return; - act = e_bindings_mouse_down_evas_event_handle(E_BINDING_CONTEXT_ANY, zgc->e_obj_inherit, event_info); - if (!act) return; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + act = e_bindings_mouse_down_evas_event_handle(E_BINDING_CONTEXT_ANY, zgc->e_obj_inherit, event_info); + if (!act) + { + ev->event_flags &= ~EVAS_EVENT_FLAG_ON_HOLD; + return; + } if (act->func.end_mouse) { int x, y;