From b17e7fa95ba513139ab98572251edcb36d087345 Mon Sep 17 00:00:00 2001 From: Jaehyun Cho Date: Thu, 11 Apr 2019 20:14:43 +0900 Subject: [PATCH] efl_ui_list: fix to delete sub objects in efl_object_invalidate widget's sub objects and callbacks should be deleted in efl_object_invalidate instead of efl_object_destructor. @fix --- src/lib/elementary/efl_ui_list.c | 6 ++++-- src/lib/elementary/efl_ui_list.eo | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c index 1cb6f1061e..978aae3271 100644 --- a/src/lib/elementary/efl_ui_list.c +++ b/src/lib/elementary/efl_ui_list.c @@ -467,7 +467,7 @@ _efl_ui_list_efl_object_finalize(Eo *obj, } EOLIAN static void -_efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd) +_efl_ui_list_efl_object_invalidate(Eo *obj, Efl_Ui_List_Data *pd) { _scroll_edje_object_detach(obj); @@ -488,12 +488,14 @@ _efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd) efl_del(pd->box); pd->box = NULL; + efl_del(pd->pan); pd->pan = NULL; + efl_del(pd->smanager); pd->smanager = NULL; - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); } EOLIAN static void diff --git a/src/lib/elementary/efl_ui_list.eo b/src/lib/elementary/efl_ui_list.eo index 988c78c5cc..8a77e37261 100644 --- a/src/lib/elementary/efl_ui_list.eo +++ b/src/lib/elementary/efl_ui_list.eo @@ -42,7 +42,7 @@ class @beta Efl.Ui.List extends Efl.Ui.Layout_Base implements //Efl.Object Efl.Object.constructor; Efl.Object.finalize; - Efl.Object.destructor; + Efl.Object.invalidate; //Efl.Canvas Efl.Canvas.Group.group_calculate;