diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2014-02-07 17:45:00 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2014-02-07 17:45:00 +0000 |
commit | f5f7dc99319179dcce9e13b2b13cf7da7eb643ae (patch) | |
tree | d9e645ccd8f856cfc006d50e13e0a33e25c253ff /amiga/print.c | |
parent | 665f724a364b0579ee96aa10f7aed1dc25e2f524 (diff) | |
download | netsurf-f5f7dc99319179dcce9e13b2b13cf7da7eb643ae.tar.gz netsurf-f5f7dc99319179dcce9e13b2b13cf7da7eb643ae.tar.bz2 |
Only allocate printing resources for the period of time we need them.
Diffstat (limited to 'amiga/print.c')
-rw-r--r-- | amiga/print.c | 7 |
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) |