discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=1dd82a4cc70ed15dc6b531823e887933916d8722

commit 1dd82a4cc70ed15dc6b531823e887933916d8722
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Oct 19 11:13:32 2016 -0400

    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 ae79b98..b3c9afe 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -887,11 +887,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;

-- 


Reply via email to