diff options
author | YeongJong Lee <yj34.lee@samsung.com> | 2018-01-15 19:55:37 +0900 |
---|---|---|
committer | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2018-01-15 19:55:37 +0900 |
commit | f7849d07278c063ba4bd49cb298eba2ec1f2a337 (patch) | |
tree | ca1ffe9a4e6ba243fb70734534eb725f3929e252 | |
parent | 8fc21da029b7d337be42c436e6e2f05837c10412 (diff) | |
download | efl-f7849d07278c063ba4bd49cb298eba2ec1f2a337.tar.gz |
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
-rw-r--r-- | src/lib/elementary/elc_popup.c | 6 |
1 files 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)); |