summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2010-03-28 21:40:22 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2010-03-28 21:40:22 +0000
commitc2f9c06de35d96ab58c76254b9acf080bf5c01ea (patch)
treede0e3f6773da648a385034c585fa69bbfcd91e52
parentaafc98465b4d6e1d0bbf850705fac8b017ec8d30 (diff)
downloadnetsurf-c2f9c06de35d96ab58c76254b9acf080bf5c01ea.tar.gz
netsurf-c2f9c06de35d96ab58c76254b9acf080bf5c01ea.tar.bz2
Avoid failing completely if gui_window is NULL
svn path=/trunk/netsurf/; revision=10194
-rw-r--r--amiga/download.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/amiga/download.c b/amiga/download.c
index 6970096a7..cad0d1076 100644
--- a/amiga/download.c
+++ b/amiga/download.c
@@ -62,11 +62,9 @@ struct gui_download_window *gui_download_window_create(const char *url,
struct gui_download_window *dw;
APTR va[3];
- if(!gui) return NULL;
-
dw = AllocVec(sizeof(struct gui_download_window),MEMF_PRIVATE | MEMF_CLEAR);
- if((!IsListEmpty(&gui->dllist)) && (dw->dln = (struct dlnode *)FindName(&gui->dllist,url)))
+ if(gui && (!IsListEmpty(&gui->dllist)) && (dw->dln = (struct dlnode *)FindName(&gui->dllist,url)))
{
strcpy(dw->fname, dw->dln->filename);
free(dw->dln->node.ln_Name);
@@ -77,6 +75,7 @@ struct gui_download_window *gui_download_window_create(const char *url,
if(AslRequestTags(savereq,
ASLFR_TitleText,messages_get("NetSurf"),
ASLFR_Screen,scrn,
+ ASLFR_InitialDrawer, option_download_dir,
ASLFR_InitialFile,FilePart(url),
TAG_DONE))
{
@@ -88,7 +87,7 @@ struct gui_download_window *gui_download_window_create(const char *url,
dw->size = total_size;
dw->downloaded = 0;
- dw->bw = gui->shared->bw;
+ if(gui) dw->bw = gui->shared->bw;
dw->url = (char *)strdup((char *)url);
va[0] = (APTR)dw->downloaded;