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

-- 


Reply via email to