diff options
author | James Bursa <james@netsurf-browser.org> | 2003-11-04 18:34:46 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2003-11-04 18:34:46 +0000 |
commit | 94a175d78a09698512557d7bdc481fe334a3acf5 (patch) | |
tree | 190d45081a78cc810f61cd0b5b670a450964306c /desktop | |
parent | 804ee03ea6eb86e969793af992b4c66dabe3ca8a (diff) | |
download | netsurf-94a175d78a09698512557d7bdc481fe334a3acf5.tar.gz netsurf-94a175d78a09698512557d7bdc481fe334a3acf5.tar.bz2 |
[project @ 2003-11-04 18:34:46 by bursa]
Fix downloads from cache.
svn path=/import/netsurf/; revision=401
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index 048eb4d66..67c0f93e5 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -316,26 +316,29 @@ void browser_window_callback(content_msg msg, struct content *c, switch (msg) { case CONTENT_MSG_LOADING: + case CONTENT_MSG_READY: + case CONTENT_MSG_DONE: if (c->type == CONTENT_OTHER) { gui_window *download_window; - /* TODO: implement downloads */ - /* we probably want to open a new window with a save icon and progress bar, - * and transfer content_loading to it */ assert(bw->loading_content == c); /* create download window and add content to it */ download_window = gui_create_download_window(c); content_add_user(c, download_window_callback, download_window, 0); + if (msg == CONTENT_MSG_DONE) + download_window_callback(CONTENT_MSG_DONE, c, download_window, 0, 0); /* remove content from browser window */ bw->loading_content = 0; content_remove_user(c, browser_window_callback, bw, 0); browser_window_stop_throbber(bw); + + break; } - break; - case CONTENT_MSG_READY: - case CONTENT_MSG_DONE: + if (msg == CONTENT_MSG_LOADING) + break; + previous_safety = gui_window_set_redraw_safety(bw->window, UNSAFE); if (bw->loading_content == c) { struct gui_message gmsg; |