From b6937419e17c80613f5b1436ce9833e24d6221fa Mon Sep 17 00:00:00 2001 From: Chris Young Date: Fri, 9 Apr 2010 22:38:51 +0000 Subject: Fix broken event handling. Any structures attached to the window_list *must* have a struct nsObject * as their first entry, and handle events outside of gui.c. svn path=/trunk/netsurf/; revision=10332 --- amiga/download.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'amiga/download.c') 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; -- cgit v1.2.3