tasn pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=c15f16c9c8559d1dc966bff66403fdf3db84c10c
commit c15f16c9c8559d1dc966bff66403fdf3db84c10c Author: Tom Hacohen <[email protected]> Date: Fri Sep 26 10:09:15 2014 +0100 Elm win: fix wrong deletion of elm windows. This is a fix upon 6e7686c030fab162edb3128de005ec00ea8c0ffc. This correctly deletes the list even if the windows are still referenced and even if they are deleted from under out feets. --- src/lib/elm_win.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 1e6b998..ed6a2e7 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -2105,10 +2105,15 @@ _elm_win_on_resize_obj_changed_size_hints(void *data, void _elm_win_shutdown(void) { - Eina_List *itr, *itrn; - Evas_Object *obj; - EINA_LIST_FOREACH_SAFE(_elm_win_list, itr, itrn, obj) - evas_object_del(obj); + while (_elm_win_list) + { + Eina_List *itr = _elm_win_list; + evas_object_del(itr->data); + if (_elm_win_list == itr) + { + _elm_win_list = eina_list_remove_list(_elm_win_list, _elm_win_list); + } + } ELM_SAFE_FREE(_elm_win_state_eval_job, ecore_job_del); } --
