zmike pushed a commit to branch master.

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

commit ea07d5f7da5399615139c42a05b2d9aa6bebaf50
Author: Marcel Hollerbach <[email protected]>
Date:   Mon Oct 28 12:40:17 2019 -0400

    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

-- 


Reply via email to