diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2019-09-21 10:26:46 +0100 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2019-09-21 10:26:46 +0100 |
commit | 73219114682f64fdbfe0809be3f2d991016dd3f1 (patch) | |
tree | ef26a6478aa454a2bea866b4932085fd83735e57 | |
parent | 9e92b3d123b12e5637fa010eccd47785cf0f4cbe (diff) | |
download | efl-73219114682f64fdbfe0809be3f2d991016dd3f1.tar.gz |
efl ui widget - call parent constructor before doing more init
the object is not properly set up yet for child classes -0 parent like
the main evas object or smart obj havent been constructed yet so call
this really early, not in the middle of construction of an efl ui
widget...
this fixes a segv in elementary_test -to filp where it segv's on
object construction where evas object ->cur/prev are NULL (not set up
yet).
-rw-r--r-- | src/lib/elementary/efl_ui_widget.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c index 5168dbc793..1091a98e37 100644 --- a/src/lib/elementary/efl_ui_widget.c +++ b/src/lib/elementary/efl_ui_widget.c @@ -4788,6 +4788,8 @@ elm_widget_tree_dot_dump(const Evas_Object *top, EOLIAN static Eo * _efl_ui_widget_efl_object_constructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UNUSED) { + efl_canvas_group_clipped_set(obj, EINA_FALSE); + obj = efl_constructor(efl_super(obj, MY_CLASS)); sd->on_create = EINA_TRUE; sd->window = efl_provider_find(efl_parent_get(obj), EFL_UI_WIN_CLASS); @@ -4813,8 +4815,6 @@ _efl_ui_widget_efl_object_constructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UN } _efl_ui_focus_event_redirector(obj, obj); - efl_canvas_group_clipped_set(obj, EINA_FALSE); - obj = efl_constructor(efl_super(obj, MY_CLASS)); efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); |