From ef5ce5c2f609b47d2c59fbcb76cc88ae4c595445 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Wed, 5 Aug 2015 18:13:04 +0100 Subject: Fix guru 80000006 occuring on OS3 when initialising lists. --- amiga/object.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'amiga/object.c') diff --git a/amiga/object.c b/amiga/object.c index 3ccd50b60..16e14d46f 100755 --- a/amiga/object.c +++ b/amiga/object.c @@ -29,14 +29,25 @@ #include "amiga/misc.h" #include "amiga/object.h" -struct MinList *NewObjList(void) +#include "utils/log.h" + +#ifdef __amigaos4__ +#define NewnsList NewMinList +#else +#define NewnsList NewList +#endif + +struct nsList *NewObjList(void) { - struct MinList *objlist = (struct MinList *)AllocVecTagList(sizeof(struct MinList), NULL); - NewMinList(objlist); + struct nsList *objlist = (struct nsList *)AllocVecTagList(sizeof(struct nsList), NULL); + if(objlist == NULL) return NULL; + + NewnsList(objlist); + return(objlist); } -struct nsObject *AddObject(struct MinList *objlist, ULONG otype) +struct nsObject *AddObject(struct nsList *objlist, ULONG otype) { struct nsObject *dtzo; @@ -70,12 +81,12 @@ void DelObjectNoFree(struct nsObject *dtzo) DelObjectInternal(dtzo, FALSE); } -void FreeObjList(struct MinList *objlist) +void FreeObjList(struct nsList *objlist) { struct nsObject *node; struct nsObject *nnode; - if(IsMinListEmpty(objlist)) return; + if(IsMinListEmpty((struct MinList *)objlist)) return; node = (struct nsObject *)GetHead((struct List *)objlist); do { -- cgit v1.2.3