bu5hm4n pushed a commit to branch master.

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

commit 6f0b79fe4b9552f3b3f29f72241ed6b79ce3532c
Author: Marcel Hollerbach <marcel-hollerb...@t-online.de>
Date:   Mon Jul 24 17:58:13 2017 +0200

    elm_widget: call the events after eval outself with new manager/parent
    
    otherwise we might end up with a node_get error, since the widget where
    the event is called on is still registered in the wrong manager
---
 src/lib/elementary/elm_widget.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 3a446d5677..ede91bf82c 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -420,6 +420,8 @@ _full_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
         _focus_state_eval(pd->logical.parent, new_pd);
      }
 
+   _focus_state_eval(obj, pd);
+
    if (old_parent != pd->logical.parent)
      {
         efl_event_callback_call(obj,
@@ -433,7 +435,6 @@ _full_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
              EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, old_manager);
      }
 
-   _focus_state_eval(obj, pd);
 }
 
 /**

-- 


Reply via email to