From ea07d5f7da5399615139c42a05b2d9aa6bebaf50 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Mon, 28 Oct 2019 12:40:17 -0400 Subject: [PATCH] efl_ui_spotlight_manager: apply vis changes to subobj Summary: when the sportlight is hidden, the state should be applied to the backclip and foreclip, in order to hide the subobjects correctly. This fixes dangling showing widgets. Reviewers: Jaehyun_Cho, zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10468 --- src/lib/elementary/efl_ui_spotlight_manager_plain.c | 6 +++--- src/lib/elementary/efl_ui_spotlight_manager_scroll.c | 2 ++ src/lib/elementary/efl_ui_spotlight_manager_stack.c | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/efl_ui_spotlight_manager_plain.c b/src/lib/elementary/efl_ui_spotlight_manager_plain.c index ec7c3a2782..f7d81335d6 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_plain.c +++ b/src/lib/elementary/efl_ui_spotlight_manager_plain.c @@ -71,7 +71,7 @@ _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Sp for (int i = 0; i < efl_content_count(spotlight) ; ++i) { Efl_Gfx_Entity *elem = efl_pack_content_get(spotlight, i); - efl_canvas_group_member_add(pd->group, elem); + efl_canvas_group_member_add(pd->container, elem); efl_gfx_entity_visible_set(elem, EINA_FALSE); } index = efl_ui_spotlight_active_element_get(spotlight); @@ -102,7 +102,7 @@ _content_changed(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd) EOLIAN static void _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_add(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd, Efl_Gfx_Entity *subobj, int index EINA_UNUSED) { - efl_canvas_group_member_add(pd->group, subobj); + efl_canvas_group_member_add(pd->container, subobj); efl_gfx_entity_visible_set(subobj, EINA_FALSE); _content_changed(obj, pd); } @@ -110,7 +110,7 @@ _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_add(Eo *obj, Ef EOLIAN static void _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_del(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd, Efl_Gfx_Entity *subobj, int index EINA_UNUSED) { - efl_canvas_group_member_remove(pd->group, subobj); + efl_canvas_group_member_remove(pd->container, subobj); _content_changed(obj, pd); } EOLIAN static void diff --git a/src/lib/elementary/efl_ui_spotlight_manager_scroll.c b/src/lib/elementary/efl_ui_spotlight_manager_scroll.c index e7179a259d..1728c269d1 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_scroll.c +++ b/src/lib/elementary/efl_ui_spotlight_manager_scroll.c @@ -181,11 +181,13 @@ _efl_ui_spotlight_manager_scroll_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_S pd->foreclip = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas_object_evas_get(group)); evas_object_static_clip_set(pd->foreclip, EINA_TRUE); + efl_canvas_group_member_add(spotlight, pd->foreclip); pd->backclip = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas_object_evas_get(group)); evas_object_static_clip_set(pd->backclip, EINA_TRUE); efl_gfx_entity_visible_set(pd->backclip, EINA_FALSE); + efl_canvas_group_member_add(spotlight, pd->backclip); for (int i = 0; i < efl_content_count(spotlight) ; ++i) { Efl_Gfx_Entity *elem = efl_pack_content_get(spotlight, i); diff --git a/src/lib/elementary/efl_ui_spotlight_manager_stack.c b/src/lib/elementary/efl_ui_spotlight_manager_stack.c index e93c82080f..811a686194 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_stack.c +++ b/src/lib/elementary/efl_ui_spotlight_manager_stack.c @@ -148,7 +148,7 @@ _efl_ui_spotlight_manager_stack_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Sp for (int i = 0; i < efl_content_count(spotlight) ; ++i) { Efl_Gfx_Entity *elem = efl_pack_content_get(spotlight, i); - efl_canvas_group_member_add(pd->group, elem); + efl_canvas_group_member_add(pd->container, elem); efl_gfx_entity_visible_set(elem, EINA_FALSE); } if (efl_ui_spotlight_active_element_get(spotlight)) @@ -163,14 +163,14 @@ _efl_ui_spotlight_manager_stack_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Sp EOLIAN static void _efl_ui_spotlight_manager_stack_efl_ui_spotlight_manager_content_add(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Manager_Stack_Data *pd, Efl_Gfx_Entity *subobj, int index EINA_UNUSED) { - efl_canvas_group_member_add(pd->group, subobj); + efl_canvas_group_member_add(pd->container, subobj); efl_gfx_entity_visible_set(subobj, EINA_FALSE); } EOLIAN static void _efl_ui_spotlight_manager_stack_efl_ui_spotlight_manager_content_del(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Manager_Stack_Data *pd, Efl_Gfx_Entity *subobj, int index EINA_UNUSED) { - efl_canvas_group_member_remove(pd->group, subobj); + efl_canvas_group_member_remove(pd->container, subobj); } static void