diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2011-02-21 21:47:55 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2011-02-21 21:47:55 +0000 |
commit | 593b35997be58bc67690481162d02b6abf802fea (patch) | |
tree | 4eb83178cca28a8745fc374237582524d12f3743 /desktop | |
parent | 63f902e995780463b5805f0721d7db0be7a2cbab (diff) | |
download | netsurf-593b35997be58bc67690481162d02b6abf802fea.tar.gz netsurf-593b35997be58bc67690481162d02b6abf802fea.tar.bz2 |
Slightly more useful behaviour if we can't handle an URL when downloading
svn path=/trunk/netsurf/; revision=11750
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index 1f536fe17..04bbc3ac7 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -370,18 +370,22 @@ void browser_window_go_post(struct browser_window *bw, const char *url, error = llcache_handle_retrieve(url2, fetch_flags, referer, fetch_is_post ? &post : NULL, NULL, NULL, &l); - if (error != NSERROR_OK) + if (error == NSERROR_NO_FETCH_HANDLER) { + gui_launch_url(url2); + } else if (error != NSERROR_OK) { LOG(("Failed to fetch download: %d", error)); + } else { + error = download_context_create(l, bw->window); + if (error != NSERROR_OK) { + LOG(("Failed creating download context: %d", + error)); + llcache_handle_abort(l); + llcache_handle_release(l); + } + } free(url2); - error = download_context_create(l, bw->window); - if (error != NSERROR_OK) { - LOG(("Failed creating download context: %d", error)); - llcache_handle_abort(l); - llcache_handle_release(l); - } - return; } |