summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2007-06-20 19:43:09 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2007-06-20 19:43:09 +0000
commit5e0e967a79f50759b14e99c1987ac8a5346f7f1b (patch)
tree8d8a6785d41c4381d3a05b0a03c9541f874474e7 /gtk
parentfa9d7facf5940de82229f5291bd3d1b65bf2df7b (diff)
downloadnetsurf-5e0e967a79f50759b14e99c1987ac8a5346f7f1b.tar.gz
netsurf-5e0e967a79f50759b14e99c1987ac8a5346f7f1b.tar.bz2
Ensure that when a gui_window dies in nsgtk it kills its browser and gets that to kill it. Makes the browser less crashy if one closes an in-flight window
svn path=/trunk/netsurf/; revision=3355
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtk_scaffolding.c2
-rw-r--r--gtk/gtk_window.c5
-rw-r--r--gtk/gtk_window.h1
3 files changed, 7 insertions, 1 deletions
diff --git a/gtk/gtk_scaffolding.c b/gtk/gtk_scaffolding.c
index f09e3b08c..d79185b6a 100644
--- a/gtk/gtk_scaffolding.c
+++ b/gtk/gtk_scaffolding.c
@@ -193,7 +193,7 @@ void nsgtk_window_destroy_event(GtkWidget *widget, gpointer data)
if (!g->being_destroyed) {
g->being_destroyed = 1;
- gui_window_destroy(g->top_level);
+ nsgtk_window_destroy_browser(g->top_level);
}
}
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c
index a6b1141d2..43380647d 100644
--- a/gtk/gtk_window.c
+++ b/gtk/gtk_window.c
@@ -531,6 +531,11 @@ void nsgtk_reflow_all_windows(void)
}
}
+void nsgtk_window_destroy_browser(struct gui_window *g)
+{
+ browser_window_destroy(g->bw);
+}
+
void gui_window_destroy(struct gui_window *g)
{
if (g->prev)
diff --git a/gtk/gtk_window.h b/gtk/gtk_window.h
index 3afe04d15..24ef508a9 100644
--- a/gtk/gtk_window.h
+++ b/gtk/gtk_window.h
@@ -19,5 +19,6 @@ struct browser_window *nsgtk_get_browser_for_gui(struct gui_window *g);
float nsgtk_get_scale_for_gui(struct gui_window *g);
int nsgtk_gui_window_update_targets(struct gui_window *g);
+void nsgtk_window_destroy_browser(struct gui_window *g);
#endif /* NETSURF_GTK_WINDOW_H */