diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-03-13 14:32:06 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-03-13 14:32:06 +0000 |
commit | 8525c857da966580c57aa595ec44ba1c4fc2326a (patch) | |
tree | 952b61909ac17ad4666f82c005e4470ea20ff3f4 /windows/download.c | |
parent | a487f7e611550b0058a780cf673480eb8de6f799 (diff) | |
download | netsurf-8525c857da966580c57aa595ec44ba1c4fc2326a.tar.gz netsurf-8525c857da966580c57aa595ec44ba1c4fc2326a.tar.bz2 |
Clean up more windows frontend issues and split out more functionality
Diffstat (limited to 'windows/download.c')
-rw-r--r-- | windows/download.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/windows/download.c b/windows/download.c index 463a8368c..ed7b10832 100644 --- a/windows/download.c +++ b/windows/download.c @@ -34,6 +34,7 @@ #include "desktop/download.h" #include "windows/download.h" +#include "windows/window.h" #include "windows/gui.h" #include "windows/resourceid.h" #include "windows/schedule.h" @@ -41,13 +42,24 @@ static bool downloading = false; static struct gui_download_window *download1; -static bool nsws_download_window_up(struct gui_download_window *w); BOOL CALLBACK nsws_download_event_callback(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); static void nsws_download_update_label(void *p); static void nsws_download_update_progress(void *p); static void nsws_download_clear_data(struct gui_download_window *w); +static bool nsws_download_window_up(struct gui_download_window *w) +{ + w->hwnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DLG_DOWNLOAD), + gui_window_main_window(w->window), + nsws_download_event_callback); + if (w->hwnd == NULL) { + return false; + } + ShowWindow(w->hwnd, SW_SHOW); + return true; +} + static struct gui_download_window * gui_download_window_create(download_context *ctx, struct gui_window *gui) { @@ -142,23 +154,20 @@ gui_download_window_create(download_context *ctx, struct gui_window *gui) } download1 = w; - nsws_download_window_up(w); - return w; -} - -bool nsws_download_window_up(struct gui_download_window *w) -{ - w->hwnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DLG_DOWNLOAD), - gui_window_main_window(w->window), - nsws_download_event_callback); - if (w->hwnd == NULL) { + if (nsws_download_window_up(w) == false) { warn_user(messages_get("NoMemory"), 0); - return false; + free(destination); + free(domain); + free(filename); + free(w->total_size); + free(w->time_left); + free(w); + return NULL; } - ShowWindow(w->hwnd, SW_SHOW); - return true; + return w; } + BOOL CALLBACK nsws_download_event_callback(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { |