From b112dec78d5e8289ded3f61db96e495690ae96b5 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 14 Feb 2013 18:21:11 +0000 Subject: change browser_window_create and refactor all callsites --- riscos/dialog.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'riscos/dialog.c') 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; + } -- cgit v1.2.3