summaryrefslogtreecommitdiff
path: root/amiga/object.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/object.c')
-rwxr-xr-xamiga/object.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/amiga/object.c b/amiga/object.c
index 64c8e72db..7d935943e 100755
--- a/amiga/object.c
+++ b/amiga/object.c
@@ -24,8 +24,6 @@
#include <exec/lists.h>
#include <exec/nodes.h>
-#include "amiga/filetype.h"
-#include "amiga/font.h"
#include "amiga/misc.h"
#include "amiga/object.h"
@@ -72,11 +70,15 @@ struct nsObject *AddObject(struct MinList *objlist, ULONG otype)
return(dtzo);
}
+void ObjectCallback(struct nsObject *dtzo, void (*callback)(void *nso))
+{
+ dtzo->callback = callback;
+}
+
static void DelObjectInternal(struct nsObject *dtzo, BOOL free_obj)
{
Remove((struct Node *)dtzo);
- if(dtzo->Type == AMINS_FONT) ami_font_close(dtzo->objstruct);
- if(dtzo->Type == AMINS_MIME) ami_mime_entry_free(dtzo->objstruct);
+ if(dtzo->callback != NULL) dtzo->callback(dtzo->objstruct);
if(dtzo->objstruct && free_obj) FreeVec(dtzo->objstruct);
if(dtzo->dtz_Node.ln_Name) free(dtzo->dtz_Node.ln_Name);
FreeVec(dtzo);