diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2015-08-05 18:13:04 +0100 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2015-08-05 18:13:04 +0100 |
commit | ef5ce5c2f609b47d2c59fbcb76cc88ae4c595445 (patch) | |
tree | c01544b6f1d77d13f97260fe8337be49d100596f /amiga/object.c | |
parent | c5a834f5279581a00fddc959c5f8bc12c07d3483 (diff) | |
download | netsurf-ef5ce5c2f609b47d2c59fbcb76cc88ae4c595445.tar.gz netsurf-ef5ce5c2f609b47d2c59fbcb76cc88ae4c595445.tar.bz2 |
Fix guru 80000006 occuring on OS3 when initialising lists.
Diffstat (limited to 'amiga/object.c')
-rwxr-xr-x | amiga/object.c | 23 |
1 files changed, 17 insertions, 6 deletions
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 { |