bu5hm4n pushed a commit to branch master.

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

commit 48129e7a8e716469e5ae73be66567cc05989ed1c
Author: Marcel Hollerbach <[email protected]>
Date:   Tue Oct 10 21:23:42 2017 +0200

    elm_widget: also eval all children when we are visible
---
 src/lib/elementary/elm_widget.c | 42 ++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 73b42e2ab1..74da01462c 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -790,6 +790,25 @@ _elm_widget_efl_gfx_size_set(Eo *obj EINA_UNUSED, 
Elm_Widget_Smart_Data *sd, Ein
    efl_gfx_size_set(efl_super(obj, MY_CLASS), sz);
 }
 
+static void
+_full_eval_children(Eo *obj, Elm_Widget_Smart_Data *sd)
+{
+   Eina_List *l;
+   Eo *child;
+
+   _full_eval(obj, sd);
+
+   EINA_LIST_FOREACH(sd->subobjs , l, child)
+     {
+        Elm_Widget_Smart_Data *sd_child;
+
+        if (!efl_isa(child, ELM_WIDGET_CLASS)) continue;
+
+        sd_child = efl_data_scope_get(child, ELM_WIDGET_CLASS);
+        _full_eval_children(child, sd_child);
+     }
+}
+
 EOLIAN static void
 _elm_widget_efl_gfx_visible_set(Eo *obj, Elm_Widget_Smart_Data *pd, Eina_Bool 
vis)
 {
@@ -798,13 +817,13 @@ _elm_widget_efl_gfx_visible_set(Eo *obj, 
Elm_Widget_Smart_Data *pd, Eina_Bool vi
 
    if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, 
vis))
      {
-        _full_eval(obj, pd);
+        _full_eval_children(obj, pd);
         return;
      }
 
    efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
 
-   _full_eval(obj, pd);
+   _full_eval_children(obj, pd);
 
 
    it = evas_object_smart_iterator_new(obj);
@@ -1675,25 +1694,6 @@ elm_widget_child_can_focus_get(const Eo *obj)
    return sd->child_can_focus;
 }
 
-static void
-_full_eval_children(Eo *obj, Elm_Widget_Smart_Data *sd)
-{
-   Eina_List *l;
-   Eo *child;
-
-   _full_eval(obj, sd);
-
-   EINA_LIST_FOREACH(sd->subobjs , l, child)
-     {
-        Elm_Widget_Smart_Data *sd_child;
-
-        if (!efl_isa(child, ELM_WIDGET_CLASS)) continue;
-
-        sd_child = efl_data_scope_get(child, ELM_WIDGET_CLASS);
-        _full_eval_children(child, sd_child);
-     }
-}
-
 /**
  * @internal
  *

-- 


Reply via email to