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 /gtk/dialogs | |
parent | 3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff) | |
download | netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.gz netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.bz2 |
change browser_window_create and refactor all callsites
Diffstat (limited to 'gtk/dialogs')
-rw-r--r-- | gtk/dialogs/source.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gtk/dialogs/source.c b/gtk/dialogs/source.c index 0804dfffb..3834daa6f 100644 --- a/gtk/dialogs/source.c +++ b/gtk/dialogs/source.c @@ -254,11 +254,14 @@ void nsgtk_source_dialog_init(GtkWindow *parent, struct browser_window *bw) gtk_widget_show(GTK_WIDGET(wndSource)); } + void nsgtk_source_tab_init(GtkWindow *parent, struct browser_window *bw) { const char *source_data; unsigned long source_size; char *ndata = 0; + nsurl *url; + nserror error; source_data = content_get_source_data(bw->current_content, &source_size); @@ -298,8 +301,23 @@ void nsgtk_source_tab_init(GtkWindow *parent, struct browser_window *bw) warn_user(messages_get("NoMemory"), 0); return; } + /* Open tab */ - browser_window_create(fileurl, bw, NULL, false, true); + error = nsurl_create(fileurl, &url); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } else { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + NULL, + bw, + NULL); + nsurl_unref(url); + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + } free(fileurl); } |