From f7849d07278c063ba4bd49cb298eba2ec1f2a337 Mon Sep 17 00:00:00 2001 From: YeongJong Lee Date: Mon, 15 Jan 2018 19:55:37 +0900 Subject: [PATCH] elc_popup: reorder the sub objects free sequence Summary: when the popup is deleted, some EVAS_CALLBACK_DEL callback functions try to use already freed objects. reorder free sequence to prevent it. Test Plan: 1. elementary_test -to popup 2. check 'Enable popup scroll' 3. open several popup test and click Close button. 4. check that there are no error message Reviewers: Jaehyun_Cho, bu5hm4n Reviewed By: Jaehyun_Cho Subscribers: cedric, jpeg, herb Differential Revision: https://phab.enlightenment.org/D5730 --- src/lib/elementary/elc_popup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 598f9710e2..b95482f0fc 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -252,17 +252,17 @@ _elm_popup_efl_canvas_group_group_del(Eo *obj, Elm_Popup_Data *sd) } // XXX? delete other objects? just to be sure. - ELM_SAFE_FREE(sd->main_layout, evas_object_del); ELM_SAFE_FREE(sd->notify, evas_object_del); ELM_SAFE_FREE(sd->title_icon, evas_object_del); - ELM_SAFE_FREE(sd->content_area, evas_object_del); ELM_SAFE_FREE(sd->text_content_obj, evas_object_del); - ELM_SAFE_FREE(sd->action_area, evas_object_del); ELM_SAFE_FREE(sd->box, evas_object_del); ELM_SAFE_FREE(sd->tbl, evas_object_del); ELM_SAFE_FREE(sd->spacer, evas_object_del); ELM_SAFE_FREE(sd->scr, evas_object_del); ELM_SAFE_FREE(sd->content, evas_object_del); + ELM_SAFE_FREE(sd->main_layout, evas_object_del); + ELM_SAFE_FREE(sd->content_area, evas_object_del); + ELM_SAFE_FREE(sd->action_area, evas_object_del); ELM_SAFE_FREE(sd->title_text, eina_stringshare_del); efl_canvas_group_del(efl_super(obj, MY_CLASS));