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
This commit is contained in:
YeongJong Lee 2018-01-15 19:55:37 +09:00 committed by Jaehyun Cho
parent 8fc21da029
commit f7849d0727
1 changed files with 3 additions and 3 deletions

View File

@ -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));