summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-21 10:26:46 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-21 10:26:46 +0100
commit73219114682f64fdbfe0809be3f2d991016dd3f1 (patch)
treeef26a6478aa454a2bea866b4932085fd83735e57
parent9e92b3d123b12e5637fa010eccd47785cf0f4cbe (diff)
downloadefl-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.c4
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);