Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_misc.c 


Log Message:
- make sure we've cleaned up all of the widgets and evas objects before we
  free the evas. otherwise we might try to delete something from an evas
  that dosen't exist anymore.

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_misc.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -3 -r1.52 -r1.53
--- ewl_misc.c  24 May 2006 04:00:19 -0000      1.52
+++ ewl_misc.c  25 May 2006 04:50:17 -0000      1.53
@@ -1093,10 +1093,16 @@
 
        cleanup = 0;
 
-       while ((evas = ecore_list_remove_first(free_evas_list))) {
-               evas_free(evas);
-               cleanup++;
+       /* make sure the widget and object lists are clear before trying to
+        * remove the evas canvas */
+       if ((ecore_list_nodes(free_evas_object_list) == 0)
+                       && (ecore_list_nodes(destroy_list) == 0)) {
+               while ((evas = ecore_list_remove_first(free_evas_list))) {
+                       evas_free(evas);
+                       cleanup++;
+               }
        }
+
        if (ewl_config.debug.gc_reap)
                printf("Destroyed %d Evas\n", cleanup);
 




-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to