diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-02-14 18:21:11 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-02-18 11:23:48 +0000 |
commit | b112dec78d5e8289ded3f61db96e495690ae96b5 (patch) | |
tree | 9babaed21ed2eb841b8d398e28814544c73656d9 /riscos/dialog.c | |
parent | 3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff) | |
download | netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.gz netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.bz2 |
change browser_window_create and refactor all callsites
Diffstat (limited to 'riscos/dialog.c')
-rw-r--r-- | riscos/dialog.c | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/riscos/dialog.c b/riscos/dialog.c index 1fabbcb5e..d66b1cb08 100644 --- a/riscos/dialog.c +++ b/riscos/dialog.c @@ -705,17 +705,35 @@ void ro_gui_dialog_update_zoom(struct gui_window *g) { bool ro_gui_dialog_openurl_apply(wimp_w w) { - const char *url; + const char *urltxt; char *url2; + nsurl *url; + nserror error; - url = ro_gui_get_icon_string(w, ICON_OPENURL_URL); - url2 = strdup(url); - if (url2 != NULL) { - browser_window_create(url2, 0, 0, true, false); - free(url2); - return true; + urltxt = ro_gui_get_icon_string(w, ICON_OPENURL_URL); + url2 = strdup(urltxt); /** @todo why is this copied */ + if (url2 == NULL) { + return false; + } + + error = nsurl_create(url2, &url); + free(url2); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + NULL, + NULL, + NULL); + nsurl_unref(url); } - return false; + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + return false; + } + + return true; + } |