discomfitor pushed a commit to branch enlightenment-0.21.

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

commit d455f502104b419dd0821562215a581aa10cd1fc
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Oct 17 11:18:46 2016 -0400

    add new flag for zone edge objects to allow shape cutting while repeating 
events
    
    fixes case where edge binding would (possibly) trigger but then not allow 
input
    to any canvas objects at the screen edge
---
 src/bin/e_comp.c | 3 ++-
 src/bin/e_zone.c | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 4a95187..911ec9e 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -700,7 +700,8 @@ _e_comp_shapes_update_object_shape_comp_helper(Evas_Object 
*o, Eina_Tiler *tb)
    int x, y, w, h;
 
    /* ignore hidden and pass-event objects */
-   if ((!evas_object_visible_get(o)) || evas_object_pass_events_get(o) || 
evas_object_repeat_events_get(o)) return;
+   if ((!evas_object_visible_get(o)) || evas_object_pass_events_get(o)) return;
+   if (evas_object_repeat_events_get(o) && (!evas_object_data_get(o, 
"comp_repeat"))) return;
    /* ignore canvas objects */
    if (_e_comp_shapes_update_object_checker_function_thingy(o)) return;
    SHAPE_INF("OBJ: %p:%s", o, evas_object_name_get(o) ?: 
evas_object_type_get(o));
diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c
index 58ff437..b3c6660 100644
--- a/src/bin/e_zone.c
+++ b/src/bin/e_zone.c
@@ -1061,6 +1061,8 @@ e_zone_edge_new(E_Zone_Edge edge)
                   evas_object_name_set(zone->MEMBER, #MEMBER); \
                   evas_object_move(zone->MEMBER, (X), (Y)); \
                   evas_object_resize(zone->MEMBER, (W), (H)); \
+                  evas_object_repeat_events_set(zone->MEMBER, 1); \
+                  evas_object_data_set(zone->MEMBER, "comp_repeat", (void*)1); 
\
                   evas_object_color_set(zone->MEMBER, 0, 0, 0, 0); \
                   evas_object_event_callback_add(zone->MEMBER, 
EVAS_CALLBACK_MOUSE_MOVE, _e_zone_cb_mouse_move, zone); \
                   evas_object_event_callback_add(zone->MEMBER, 
EVAS_CALLBACK_MOUSE_IN, _e_zone_cb_mouse_in, zone); \

-- 


Reply via email to