summaryrefslogtreecommitdiff
path: root/amiga/print.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/print.c')
-rw-r--r--amiga/print.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/amiga/print.c b/amiga/print.c
index 4bfce139b..93dde35f7 100644
--- a/amiga/print.c
+++ b/amiga/print.c
@@ -378,7 +378,8 @@ void ami_print(struct hlcache_handle *c, int copies)
double height, print_height;
float scale = nsoption_int(print_scale) / 100.0;
- if(!ami_print_info.msgport) return;
+ if(ami_print_info.msgport == NULL)
+ ami_print_init();
if(!(ami_print_info.PReq =
(struct IODRPTagsReq *)AllocSysObjectTags(ASOT_IOREQUEST,
@@ -450,7 +451,8 @@ struct MsgPort *ami_print_init(void)
void ami_print_free(void)
{
- FreeSysObject(ASOT_PORT,ami_print_info.msgport);
+ FreeSysObject(ASOT_PORT, ami_print_info.msgport);
+ ami_print_info.msgport = NULL;
}
struct MsgPort *ami_print_get_msgport(void)
@@ -491,6 +493,7 @@ void ami_print_end(void)
glob = &browserglob;
ami_print_close_device();
+ ami_print_free();
}
void ami_print_close_device(void)