summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-10-17 11:18:46 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-10-17 11:18:46 -0400
commit7dc0930c8a967ae14b6b1006f16a4b5e544b0ea5 (patch)
tree4b6186c8089330f2300444e194c45bd3144acf25
parentdece6a5514dfe677a8587ae1aeb92ad352d7aba3 (diff)
downloadenlightenment-7dc0930c8a967ae14b6b1006f16a4b5e544b0ea5.tar.gz
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
-rw-r--r--src/bin/e_comp.c3
-rw-r--r--src/bin/e_zone.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 61e6ea0753..3af75934ad 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 58ff437199..b3c6660b4f 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); \