diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2007-03-19 00:04:09 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2007-03-19 00:04:09 +0000 |
commit | 9c048ad076267066cbe89c0bb6218d637a92349b (patch) | |
tree | 4f026602c728f112714c2993ac3760242e2fcf7a /render/html.c | |
parent | f261e4426a017d01ae0203dfd45d6931b1a5fed4 (diff) | |
download | netsurf-9c048ad076267066cbe89c0bb6218d637a92349b.tar.gz netsurf-9c048ad076267066cbe89c0bb6218d637a92349b.tar.bz2 |
Fix invalidation of unwanted contents.
svn path=/trunk/netsurf/; revision=3214
Diffstat (limited to 'render/html.c')
-rw-r--r-- | render/html.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/render/html.c b/render/html.c index 38c6f2181..b22ea0d8f 100644 --- a/render/html.c +++ b/render/html.c @@ -897,7 +897,7 @@ void html_convert_css_callback(content_msg msg, struct content *css, content_remove_user(css, html_convert_css_callback, (intptr_t) c, i); - if (!css->user_list) { + if (!css->user_list->next) { /* we were the only user and we * don't want this content, so * stop it fetching and mark it @@ -1144,6 +1144,17 @@ void html_object_callback(content_msg msg, struct content *object, content_broadcast(c, CONTENT_MSG_STATUS, data); content_remove_user(object, html_object_callback, (intptr_t) c, i); + if (!object->user_list->next) { + /* we were the only user and we + * don't want this content, so + * stop it fetching and mark it + * as having an error so it gets + * removed from the cache next time + * content_clean() gets called */ + fetch_abort(object->fetch); + object->fetch = 0; + object->status = CONTENT_STATUS_ERROR; + } html_object_failed(box, c, c->data.html.object[i].background); break; |