summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-07-24 17:58:13 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-07-24 23:40:38 +0200
commit6f0b79fe4b9552f3b3f29f72241ed6b79ce3532c (patch)
treeb4330a783c8646d4e368c9604f80d4d1b40e6edc
parentb49df7128aef02f3b75804d9102163ed4ff5ad8a (diff)
downloadefl-6f0b79fe4b9552f3b3f29f72241ed6b79ce3532c.tar.gz
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
-rw-r--r--src/lib/elementary/elm_widget.c3
1 files changed, 2 insertions, 1 deletions
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);
}
/**