diff options
Diffstat (limited to 'amiga/download.c')
-rw-r--r-- | amiga/download.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/amiga/download.c b/amiga/download.c index 1929d163f..712689b10 100644 --- a/amiga/download.c +++ b/amiga/download.c @@ -214,7 +214,7 @@ void gui_download_window_done(struct gui_download_window *dw) TAG_DONE); } - if(bw) bw->download = false; + download_context_destroy(dw->ctx); if(dln = dw->dln) { @@ -235,6 +235,30 @@ void gui_download_window_done(struct gui_download_window *dw) if(queuedl) browser_window_download(bw,dln2->node.ln_Name,NULL); } +BOOL ami_download_window_event(struct gui_download_window *dw) +{ + /* return TRUE if window destroyed */ + ULONG class,result,relevent = 0; + uint16 code; + + while((result = RA_HandleInput(dw->objects[OID_MAIN], &code)) != WMHI_LASTMSG) + { + switch(result & WMHI_CLASSMASK) // class + { + case WMHI_GADGETUP: + switch(result & WMHI_GADGETMASK) + { + case GID_CANCEL: + ami_download_window_abort(dw); + return TRUE; + break; + } + break; + } + } + return FALSE; +} + void ami_free_download_list(struct List *dllist) { struct dlnode *node; |