diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-07-25 16:29:18 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-07-27 18:07:00 +0100 |
commit | 06a1d75d52dc533474194c0c9b33eecf09b59068 (patch) | |
tree | ec124b7110b54489826b46b02decb1d1735f3014 /gtk/scaffolding.c | |
parent | 984299e5b4feda4ffb6fd80f0d1f489c32e6d512 (diff) | |
download | netsurf-06a1d75d52dc533474194c0c9b33eecf09b59068.tar.gz netsurf-06a1d75d52dc533474194c0c9b33eecf09b59068.tar.bz2 |
stop gtk about dialog forcing navigation of existing browsing contexts
Diffstat (limited to 'gtk/scaffolding.c')
-rw-r--r-- | gtk/scaffolding.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c index 5d9c58745..d3c526368 100644 --- a/gtk/scaffolding.c +++ b/gtk/scaffolding.c @@ -136,8 +136,8 @@ struct gtk_scaffolding { struct gtk_scaffolding *next, *prev; }; -/** current window for model dialogue use */ -static struct gtk_scaffolding *current_model; +/** current scaffold for model dialogue use */ +static struct gtk_scaffolding *scaf_current; /** global list for interface changes */ nsgtk_scaffolding *scaf_list = NULL; @@ -497,7 +497,7 @@ static void nsgtk_openfile_open(const char *filename) nsurl *url; nserror error; - bw = nsgtk_get_browser_window(current_model->top_level); + bw = nsgtk_get_browser_window(scaf_current->top_level); urltxt = malloc(strlen(filename) + FILE_SCHEME_PREFIX_LEN + 1); @@ -596,9 +596,9 @@ MULTIHANDLER(newtab) MULTIHANDLER(openfile) { - current_model = g; + scaf_current = g; GtkWidget *dlgOpen = gtk_file_chooser_dialog_new("Open File", - current_model->window, GTK_FILE_CHOOSER_ACTION_OPEN, + scaf_current->window, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, -6, GTK_STOCK_OPEN, -5, NULL); gint response = gtk_dialog_run(GTK_DIALOG(dlgOpen)); @@ -1631,9 +1631,7 @@ MULTIHANDLER(info) MULTIHANDLER(about) { - nsgtk_about_dialog_init(g->window, - nsgtk_get_browser_window(g->top_level), - netsurf_version); + nsgtk_about_dialog_init(g->window, netsurf_version); return TRUE; } @@ -1837,6 +1835,16 @@ nsgtk_new_scaffolding_link_popup(struct gtk_scaffolding *g, GtkAccelGroup *group return nmenu; } +/* exported interface documented in gtk/scaffolding.h */ +nsgtk_scaffolding *nsgtk_current_scaffolding(void) +{ + if (scaf_current == NULL) { + scaf_current = scaf_list; + } + return scaf_current; +} + +/* exported interface documented in gtk/scaffolding.h */ nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) { struct gtk_scaffolding *g; |