summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-11-04 18:34:46 +0000
committerJames Bursa <james@netsurf-browser.org>2003-11-04 18:34:46 +0000
commit94a175d78a09698512557d7bdc481fe334a3acf5 (patch)
tree190d45081a78cc810f61cd0b5b670a450964306c
parent804ee03ea6eb86e969793af992b4c66dabe3ca8a (diff)
downloadnetsurf-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
-rw-r--r--desktop/browser.c15
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;