diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2016-10-17 11:18:46 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2016-10-17 11:18:46 -0400 |
commit | 7dc0930c8a967ae14b6b1006f16a4b5e544b0ea5 (patch) | |
tree | 4b6186c8089330f2300444e194c45bd3144acf25 | |
parent | dece6a5514dfe677a8587ae1aeb92ad352d7aba3 (diff) | |
download | enlightenment-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.c | 3 | ||||
-rw-r--r-- | src/bin/e_zone.c | 2 |
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); \ |