From 5de88592bc9487ff72c0d71aa464f2bc7d893cff Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Wed, 16 May 2018 13:30:33 -0400 Subject: [PATCH] efl_ui_win: hand-ref-count the provider object Summary: Depends on D6108 Reviewers: cedric Reviewed By: cedric Subscribers: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6109 --- src/lib/elementary/efl_ui_win.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index c40f54370a..a2e0e62e44 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -5626,7 +5626,10 @@ _efl_ui_win_efl_object_destructor(Eo *obj, Efl_Ui_Win_Data *pd EINA_UNUSED) #endif if (pd->finalize_future) eina_future_cancel(pd->finalize_future); + efl_destructor(efl_super(obj, MY_CLASS)); + + efl_unref(pd->provider); } EOLIAN static Eo * @@ -5637,7 +5640,7 @@ _efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *pd) * really bad and hacky. Needs fixing. */ pd->obj = obj; - pd->provider = efl_add(EFL_UI_FOCUS_PARENT_PROVIDER_STANDARD_CLASS, obj); + pd->provider = efl_add_ref(EFL_UI_FOCUS_PARENT_PROVIDER_STANDARD_CLASS, NULL); pd->profile.available = eina_array_new(4); // For bindings: if no parent, allow simple unref