summaryrefslogtreecommitdiff
path: root/amiga/object.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/object.c')
-rwxr-xr-xamiga/object.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/amiga/object.c b/amiga/object.c
index a51be81c1..93094cbda 100755
--- a/amiga/object.c
+++ b/amiga/object.c
@@ -48,14 +48,24 @@ struct nsObject *AddObject(struct MinList *objlist,ULONG otype)
return(dtzo);
}
-void DelObject(struct nsObject *dtzo)
+void DelObjectInternal(struct nsObject *dtzo, BOOL free_obj)
{
Remove((struct Node *)dtzo);
- if(dtzo->objstruct) FreeVec(dtzo->objstruct);
+ if(dtzo->objstruct && free_obj) FreeVec(dtzo->objstruct);
FreeVec(dtzo);
dtzo = NULL;
}
+void DelObject(struct nsObject *dtzo)
+{
+ DelObjectInternal(dtzo, TRUE);
+}
+
+void DelObjectNoFree(struct nsObject *dtzo)
+{
+ DelObjectInternal(dtzo, FALSE);
+}
+
void FreeObjList(struct MinList *objlist)
{
struct nsObject *node;