summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2002-12-23 21:19:01 +0000
committerJames Bursa <james@netsurf-browser.org>2002-12-23 21:19:01 +0000
commite108f30e81e2feb68c9f6f0a1fa18045c6a7da40 (patch)
tree36d1ef5dfdbd22d5229b9e156fb3ef281f185578
parent19d94db7c48a0a8cb5219013e14a6042b7217f9d (diff)
downloadnetsurf-e108f30e81e2feb68c9f6f0a1fa18045c6a7da40.tar.gz
netsurf-e108f30e81e2feb68c9f6f0a1fa18045c6a7da40.tar.bz2
[project @ 2002-12-23 21:18:04 by bursa]
Fix renderings from cache. svn path=/import/netsurf/; revision=52
-rw-r--r--desktop/browser.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 5d8d1e7b8..8ecf9eec8 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -1,5 +1,5 @@
/**
- * $Id: browser.c,v 1.8 2002/12/23 20:29:25 bursa Exp $
+ * $Id: browser.c,v 1.10 2002/12/23 21:19:01 bursa Exp $
*/
#include "netsurf/riscos/font.h"
@@ -404,8 +404,30 @@ void browser_window_open_location_historical(struct browser_window* bw, char* ur
else
{
/* in cache: reformat page and display */
+ struct gui_message gmsg;
+ gui_safety previous_safety;
+
LOG(("in cache: reformatting"));
+
+ browser_window_start_throbber(bw);
+
+ /* TODO: factor out code shared with browser_window_message(), case msg_FETCH_FINISHED */
+ if (bw->url != NULL)
+ xfree(bw->url);
+ bw->url = xstrdup(url);
+
+ gmsg.type = msg_SET_URL;
+ gmsg.data.set_url.url = bw->url;
+ gui_window_message(bw->window, &gmsg);
+
+ previous_safety = gui_window_set_redraw_safety(bw->window, UNSAFE);
+ if (bw->current_content != NULL)
+ cache_free(bw->current_content);
+ bw->current_content = bw->future_content;
+ bw->future_content = NULL;
browser_window_reformat(bw);
+ gui_window_set_redraw_safety(bw->window, previous_safety);
+ browser_window_stop_throbber(bw);
}
LOG(("end"));