Fix deletion loop in evas_free()

SVN revision: 15428
This commit is contained in:
sebastid 2005-06-19 12:45:29 +00:00 committed by sebastid
parent 08fec2cfb5
commit 26cf0a9642
1 changed files with 4 additions and 4 deletions

View File

@ -98,13 +98,14 @@ evas_free(Evas *e)
{ {
Evas_Object_List *l; Evas_Object_List *l;
int i; int i;
int del = 1; int del;
MAGIC_CHECK(e, Evas, MAGIC_EVAS); MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return; return;
MAGIC_CHECK_END(); MAGIC_CHECK_END();
while (del != 0) del = 1;
while (del)
{ {
del = 0; del = 0;
for (l = (Evas_Object_List *)(e->layers); l; l = l->next) for (l = (Evas_Object_List *)(e->layers); l; l = l->next)
@ -120,10 +121,9 @@ evas_free(Evas *e)
o = (Evas_Object *)ll; o = (Evas_Object *)ll;
if (!o->delete_me) if (!o->delete_me)
del += o->delete_me; del = 1;
} }
} }
} }
while (e->layers) while (e->layers)
{ {