diff options
Diffstat (limited to 'desktop/tree.c')
-rw-r--r-- | desktop/tree.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/desktop/tree.c b/desktop/tree.c index e0193c4da..bf7b643b9 100644 --- a/desktop/tree.c +++ b/desktop/tree.c @@ -2807,6 +2807,7 @@ hlcache_handle *tree_load_icon(const char *name) int len; hlcache_handle *c; nserror err; + nsurl *icon_nsurl; /** @todo something like bitmap_from_disc is needed here */ @@ -2839,11 +2840,19 @@ hlcache_handle *tree_load_icon(const char *name) icon_url = url; } + err = nsurl_create(icon_url, &icon_nsurl); + if (err != NSERROR_OK) { + if (url != NULL) + free(url); + return NULL; + } + /* Fetch the icon */ - err = hlcache_handle_retrieve(icon_url, 0, 0, 0, + err = hlcache_handle_retrieve(icon_nsurl, 0, 0, 0, tree_icon_callback, 0, 0, CONTENT_IMAGE, &c); + nsurl_unref(icon_nsurl); /* If we built the URL here, free it */ if (url != NULL) |