forked from enlightenment/efl
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:
parent
8fc21da029
commit
f7849d0727
|
@ -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.
|
// 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->notify, evas_object_del);
|
||||||
ELM_SAFE_FREE(sd->title_icon, 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->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->box, evas_object_del);
|
||||||
ELM_SAFE_FREE(sd->tbl, evas_object_del);
|
ELM_SAFE_FREE(sd->tbl, evas_object_del);
|
||||||
ELM_SAFE_FREE(sd->spacer, evas_object_del);
|
ELM_SAFE_FREE(sd->spacer, evas_object_del);
|
||||||
ELM_SAFE_FREE(sd->scr, evas_object_del);
|
ELM_SAFE_FREE(sd->scr, evas_object_del);
|
||||||
ELM_SAFE_FREE(sd->content, 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);
|
ELM_SAFE_FREE(sd->title_text, eina_stringshare_del);
|
||||||
|
|
||||||
efl_canvas_group_del(efl_super(obj, MY_CLASS));
|
efl_canvas_group_del(efl_super(obj, MY_CLASS));
|
||||||
|
|
Loading…
Reference in New Issue