elm win - null out freed data on smart del

this fixes double-frees of strings in oddball cases where a deleted
window that is not done deleting is accessed.

@fix
This commit is contained in:
Carsten Haitzler 2016-04-02 16:02:07 +09:00
parent f56e33f429
commit d1f4f6c8af
1 changed files with 9 additions and 0 deletions

View File

@ -1999,10 +1999,19 @@ _elm_win_evas_object_smart_del(Eo *obj, Elm_Win_Data *sd)
evas_object_del(sd->icon);
evas_object_del(sd->main_menu);
sd->focus_highlight.style = NULL;
sd->title = NULL;
sd->icon_name = NULL;
sd->role = NULL;
sd->name = NULL;
sd->icon = NULL;
sd->main_menu = NULL;
_elm_win_profile_del(sd);
_elm_win_available_profiles_del(sd);
free(sd->wm_rot.rots);
sd->wm_rot.rots = NULL;
/* Don't let callback in the air that point to sd */
ecore_evas_callback_delete_request_set(sd->ee, NULL);