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