From 92bf8b1a7b0c105fc8c5d9c18aaade73effc07b0 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Wed, 7 Apr 2010 22:28:19 +0000 Subject: Partly fix tab closing. svn path=/trunk/netsurf/; revision=10294 --- gtk/gtk_window.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gtk') diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c index e586879f1..b756a6286 100644 --- a/gtk/gtk_window.c +++ b/gtk/gtk_window.c @@ -697,11 +697,15 @@ void gui_window_destroy(struct gui_window *g) LOG((" Scaffolding: %p", g->scaffold)); LOG((" Window name: %s", g->bw->name)); - /* If we're a top-level gui_window, destroy our scaffold */ if (g->scrolledwindow == NULL) { - gtk_widget_destroy(GTK_WIDGET(g->layout)); - nsgtk_scaffolding_destroy(g->scaffold); + /* tab => remove tab */ + gtk_widget_destroy(gtk_widget_get_parent(GTK_WIDGET(g->layout))); + /* if it was the last tab, destroy scaffold too */ + gint numbertabs = gtk_notebook_get_n_pages(nsgtk_scaffolding_notebook(g->scaffold)); + if (numbertabs == 0) + nsgtk_scaffolding_destroy(g->scaffold); } else { + /* frame within a document => destroy frame only */ gtk_widget_destroy(GTK_WIDGET(g->scrolledwindow)); } -- cgit v1.2.3