Enlightenment CVS committal

Author  : englebass
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_actions.c e_fwin.c e_module.c 


Log Message:
Safe looping on shutdown.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -3 -r1.97 -r1.98
--- e_actions.c 4 Apr 2007 22:35:08 -0000       1.97
+++ e_actions.c 5 Apr 2007 11:51:35 -0000       1.98
@@ -2253,17 +2253,19 @@
 EAPI int
 e_actions_shutdown(void)
 {
-   Evas_List *l, *tmp;
+   Evas_List *l;
 
    e_action_predef_name_all_del();
    action_names = evas_list_free(action_names);
    evas_hash_free(actions);
    actions = NULL;
-   for (l = action_list; l;)
+
+   l = action_list;
+   action_list = NULL;
+   while (l)
      {
-       tmp = l;
-       l = l->next;
-       e_object_del(E_OBJECT(tmp->data));
+       e_object_del(E_OBJECT(l->data));
+       l = evas_list_remove_list(l, l);
      }
    return 1;
 }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_fwin.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -3 -r1.33 -r1.34
--- e_fwin.c    5 Apr 2007 06:59:02 -0000       1.33
+++ e_fwin.c    5 Apr 2007 11:51:35 -0000       1.34
@@ -56,13 +56,14 @@
 EAPI int
 e_fwin_shutdown(void)
 {
-   Evas_List *l, *tmp;
+   Evas_List *l;
    
-   for (l = fwins; l;)
+   l = fwins;
+   fwins = NULL;
+   while (l)
      {
-       tmp = l;
-       l = l->next;
-       e_object_del(E_OBJECT(tmp->data));
+       e_object_del(E_OBJECT(l->data));
+       l = evas_list_remove_list(l, l);
      }
    return 1;
 }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_module.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -3 -r1.76 -r1.77
--- e_module.c  25 Mar 2007 22:45:00 -0000      1.76
+++ e_module.c  5 Apr 2007 11:51:35 -0000       1.77
@@ -35,7 +35,7 @@
 EAPI int
 e_module_shutdown(void)
 {
-   Evas_List *l, *tmp;
+   Evas_List *l;
 
 #ifdef HAVE_VALGRIND
    /* do a leak check now before we dlclose() all those plugins, cause
@@ -44,11 +44,12 @@
    VALGRIND_DO_LEAK_CHECK
 #endif
 
-   for (l = _e_modules; l;)
+   l = _e_modules;
+   _e_modules = NULL;
+   while (l)
      {
-       tmp = l;
-       l = l->next;
-       e_object_del(E_OBJECT(tmp->data));
+       e_object_del(E_OBJECT(l->data));
+       l = evas_list_remove_list(l, l);
      }
    return 1;
 }



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to