static void
_e_container_free(E_Container *con)
{
- Evas_List *l, *tmp;
+ Evas_List *l;
ecore_x_window_del(con->event_win);
/* We can't use e_object_del here, because border adds a ref to itself
}
}
*/
- for (l = con->zones; l;)
+ l = con->zones;
+ con->zones = 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);
}
con->manager->containers = evas_list_remove(con->manager->containers, con);
e_canvas_del(con->bg_ecore_evas);
EAPI int
e_manager_shutdown(void)
{
- Evas_List *l, *tmp;
- for (l = managers; l;)
+ Evas_List *l;
+
+ l = managers;
+ managers = 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);
}
if (frame_extents)
{
static void
_e_manager_free(E_Manager *man)
{
- Evas_List *l, *tmp;
+ Evas_List *l;
while (man->handlers)
{
man->handlers = evas_list_remove_list(man->handlers, man->handlers);
ecore_event_handler_del(h);
}
- for (l = man->containers; l;)
+ l = man->containers;
+ man->containers = 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);
}
if (man->root != man->win)
{