summaryrefslogtreecommitdiff
path: root/gtk/dialogs
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-02-14 18:21:11 +0000
committerVincent Sanders <vince@netsurf-browser.org>2013-02-18 11:23:48 +0000
commitb112dec78d5e8289ded3f61db96e495690ae96b5 (patch)
tree9babaed21ed2eb841b8d398e28814544c73656d9 /gtk/dialogs
parent3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff)
downloadnetsurf-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.c20
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);
}