From 7dc0930c8a967ae14b6b1006f16a4b5e544b0ea5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 17 Oct 2016 11:18:46 -0400 Subject: [PATCH] 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 61e6ea075..3af75934a 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 58ff43719..b3c6660b4 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); \