FRom daniel zaoui -> spotted issues with callback deletionon evas_free
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 30 May 2012 10:41:19 +0000 (10:41 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 30 May 2012 10:41:19 +0000 (10:41 +0000)
that may cause evas's to not be freed. fixxxxors!

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@71552 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

AUTHORS
src/lib/canvas/evas_callbacks.c
src/lib/canvas/evas_main.c

diff --git a/AUTHORS b/AUTHORS
index 9cad460..82f644e 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -35,3 +35,4 @@ Rafal Krypa <r.krypa@samsung.com>
 Hyoyoung Chang <hyoyoung@gmail.com>
 Jérôme Pinot <ngc891@gmail.com>
 Rafael Antognolli <antognolli@profusion.mobi>
+Daniel Zaoui <daniel.zaoui@samsung.com>
index 47cfb0c..1be0e92 100644 (file)
@@ -37,7 +37,6 @@ _evas_post_event_callback_free(Evas *e)
      {
         EVAS_MEMPOOL_FREE(_mp_pc, pc);
      }
-   _evas_unwalk(e);
 }
 
 void
index 271ccd7..6f6b4e1 100644 (file)
@@ -159,24 +159,10 @@ evas_free(Evas *e)
    return;
    MAGIC_CHECK_END();
 
-   if (e->walking_list == 0) evas_render_idle_flush(e);
-   
    if (e->walking_list > 0) return;
+   evas_render_idle_flush(e);
 
-   if (e->callbacks)
-     {
-       if (e->callbacks->deletions_waiting) return;
-
-       e->callbacks->deletions_waiting = 0;
-       evas_event_callback_list_post_free(&e->callbacks->callbacks);
-       if (!e->callbacks->callbacks)
-         {
-            free(e->callbacks);
-            e->callbacks = NULL;
-         }
-
-       _evas_post_event_callback_free(e);
-     }
+   _evas_post_event_callback_free(e);
    
    del = 1;
    e->walking_list++;