diff options
Diffstat (limited to 'amiga/object.c')
-rwxr-xr-x | amiga/object.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/amiga/object.c b/amiga/object.c index f3b5374e2..a51be81c1 100755 --- a/amiga/object.c +++ b/amiga/object.c @@ -61,17 +61,18 @@ void FreeObjList(struct MinList *objlist) struct nsObject *node; struct nsObject *nnode; + if(IsMinListEmpty(objlist)) return; node = (struct nsObject *)GetHead((struct List *)objlist); - while(nnode=(struct nsObject *)GetSucc((struct Node *)node)) + do { + nnode=(struct nsObject *)GetSucc((struct Node *)node); if(node->Type == AMINS_CALLBACK) ami_remove_timer_event((struct nscallback *)node->objstruct); DelObject(node); - - node=nnode; - } + + }while(node=nnode); FreeVec(objlist); } |