From 9c048ad076267066cbe89c0bb6218d637a92349b Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Mon, 19 Mar 2007 00:04:09 +0000 Subject: Fix invalidation of unwanted contents. svn path=/trunk/netsurf/; revision=3214 --- css/css.c | 11 +++++++++++ render/html.c | 13 ++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/css/css.c b/css/css.c index 45181e71c..ecc2e16ba 100644 --- a/css/css.c +++ b/css/css.c @@ -899,6 +899,17 @@ void css_atimport_callback(content_msg msg, struct content *css, if (css->type != CONTENT_CSS) { content_remove_user(css, css_atimport_callback, (intptr_t) c, i); + if (!css->user_list->next) { + /* We were 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(css->fetch); + css->fetch = 0; + css->status = CONTENT_STATUS_ERROR; + } c->data.css.import_content[i] = 0; c->active--; content_add_error(c, "NotCSS", 0); 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; -- cgit v1.2.3