summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-04-04 17:17:24 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-04-04 17:17:24 +0000
commit69f02e926f746b31500f46572d606fdc482ff0cb (patch)
tree438e52c0db585579cb75afcb0e3d59c9a777b4cb /desktop
parent487d4c3ae384fafded41ee0b4203bd82f5268b57 (diff)
downloadnetsurf-69f02e926f746b31500f46572d606fdc482ff0cb.tar.gz
netsurf-69f02e926f746b31500f46572d606fdc482ff0cb.tar.bz2
Make the high-level cache drop contents of unacceptable type on the floor.
svn path=/trunk/netsurf/; revision=10238
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c3
-rw-r--r--desktop/searchweb.c11
2 files changed, 12 insertions, 2 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 70d6b8cf4..e1b071fdb 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -409,7 +409,8 @@ void browser_window_go_post(struct browser_window *bw, const char *url,
error = hlcache_handle_retrieve(url2, 0, referer,
fetch_is_post ? &post : NULL,
browser_window_callback, bw,
- parent != NULL ? &child : NULL, &c);
+ parent != NULL ? &child : NULL,
+ NULL, &c);
if (error == NSERROR_NO_FETCH_HANDLER) {
gui_launch_url(url2);
free(url2);
diff --git a/desktop/searchweb.c b/desktop/searchweb.c
index aa993b6a8..89f86ed93 100644
--- a/desktop/searchweb.c
+++ b/desktop/searchweb.c
@@ -206,6 +206,12 @@ char *search_web_get_url(const char *encsearchterm)
void search_web_retrieve_ico(bool localdefault)
{
+ static const content_type accept[] = {
+#ifdef WITH_BMP
+ CONTENT_ICO,
+#endif
+ CONTENT_UNKNOWN
+ };
char *url;
nserror error;
@@ -230,7 +236,8 @@ void search_web_retrieve_ico(bool localdefault)
}
error = hlcache_handle_retrieve(url, 0, NULL, NULL,
- search_web_ico_callback, NULL, NULL, &search_ico);
+ search_web_ico_callback, NULL, NULL, accept,
+ &search_ico);
if (error != NSERROR_OK)
search_ico = NULL;
@@ -269,6 +276,8 @@ nserror search_web_ico_callback(hlcache_handle *ico,
} else
#endif
{
+ hlcache_handle_release(ico);
+ search_ico = NULL;
search_web_retrieve_ico(true);
}
break;