summary refs log tree commit diff stats
path: root/src/fe-gtk
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-gtk')
-rw-r--r--src/fe-gtk/gtkutil.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c
index 41948e44..8d358d13 100644
--- a/src/fe-gtk/gtkutil.c
+++ b/src/fe-gtk/gtkutil.c
@@ -323,8 +323,15 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
 static gboolean
 gtkutil_esc_destroy (GtkWidget * win, GdkEventKey * key, gpointer userdata)
 {
+	GtkWidget *wid = win;
+
+	/* Kill the window of detached utils */
+	if (gtk_window_get_type_hint (GTK_WINDOW (gtk_widget_get_parent (win))) == GDK_WINDOW_TYPE_HINT_DIALOG)
+		wid = gtk_widget_get_parent (win);
+		
 	if (key->keyval == GDK_Escape)
-		gtk_widget_destroy (win);
+		gtk_widget_destroy (wid); /* FIXME: leaves empty tabs */
+
 	return FALSE;
 }