From dc3287127af6a93c377d3c15167084c727e655e7 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Mon, 27 Mar 2006 00:19:19 +0000 Subject: [project @ 2006-03-27 00:19:19 by dsilvers] Defer scheduling a refresh until the content is loaded. This prevents assertion failures in the rare case that a schedule_run ends up being called before a content object containing a refresh which is due is fully loaded svn path=/import/netsurf/; revision=2193 --- desktop/browser.c | 7 +++++-- desktop/browser.h | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/desktop/browser.c b/desktop/browser.c index af081e0fd..4301bea06 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -291,6 +291,7 @@ void browser_window_callback(content_msg msg, struct content *c, c->url); url[sizeof url - 1] = 0; gui_window_set_url(bw->window, url); + bw->refresh_interval = -1; } break; @@ -366,6 +367,9 @@ void browser_window_callback(content_msg msg, struct content *c, hotlist_visited(c); free(bw->referer); bw->referer = 0; + if (bw->refresh_interval != -1) + schedule(bw->refresh_interval, + browser_window_refresh, bw); break; case CONTENT_MSG_ERROR: @@ -455,8 +459,7 @@ void browser_window_callback(content_msg msg, struct content *c, #endif case CONTENT_MSG_REFRESH: - schedule(data.delay * 100, - browser_window_refresh, bw); + bw->refresh_interval = data.delay * 100; break; default: diff --git a/desktop/browser.h b/desktop/browser.h index 642512592..1d1239cb0 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -95,6 +95,9 @@ struct browser_window { /** Current fetch is download */ bool download; + + /** Refresh interval (-1 if undefined) */ + int refresh_interval; }; -- cgit v1.2.3