summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_widget.c')
-rw-r--r--src/lib/elementary/elm_widget.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 8b758a940b..422bfdddf9 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -6214,15 +6214,13 @@ _elm_widget_efl_object_finalize(Eo *obj, Elm_Widget_Smart_Data *pd)
EOLIAN static void
-_elm_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UNUSED)
+_elm_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd)
{
- sd->on_destroy = EINA_TRUE;
- efl_destructor(efl_super(obj, ELM_WIDGET_CLASS));
- sd->on_destroy = EINA_FALSE;
-
if (sd->manager.provider)
- efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
- sd->manager.provider = NULL;
+ {
+ efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
+ sd->manager.provider = NULL;
+ }
elm_interface_atspi_accessible_removed(obj);
if (sd->logical.parent)
@@ -6230,6 +6228,10 @@ _elm_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UNUSED
efl_weak_unref(&sd->logical.parent);
sd->logical.parent = NULL;
}
+
+ sd->on_destroy = EINA_TRUE;
+ efl_destructor(efl_super(obj, ELM_WIDGET_CLASS));
+ sd->on_destroy = EINA_FALSE;
}
EOLIAN static Eina_Bool