diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2007-06-20 19:43:09 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2007-06-20 19:43:09 +0000 |
commit | 5e0e967a79f50759b14e99c1987ac8a5346f7f1b (patch) | |
tree | 8d8a6785d41c4381d3a05b0a03c9541f874474e7 /gtk | |
parent | fa9d7facf5940de82229f5291bd3d1b65bf2df7b (diff) | |
download | netsurf-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.c | 2 | ||||
-rw-r--r-- | gtk/gtk_window.c | 5 | ||||
-rw-r--r-- | gtk/gtk_window.h | 1 |
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 */ |