int
e_manager_shutdown(void)
{
- while (managers)
- e_object_del(E_OBJECT(managers->data));
+ Evas_List *l, *tmp;
+ for (l = managers; l;)
+ {
+ tmp = l;
+ l = l->next;
+ e_object_del(E_OBJECT(tmp->data));
+ }
return 1;
}
static void
_e_manager_free(E_Manager *man)
{
+ Evas_List *l, *tmp;
+
while (man->handlers)
{
Ecore_Event_Handler *h;
man->handlers = evas_list_remove_list(man->handlers, man->handlers);
ecore_event_handler_del(h);
}
- while (man->containers)
- e_object_del(E_OBJECT(man->containers->data));
+ for (l = man->containers; l;)
+ {
+ tmp = l;
+ l = l->next;
+ e_object_del(E_OBJECT(tmp->data));
+ }
ecore_x_window_del(man->win);
managers = evas_list_remove(managers, man);
free(man);