--- pan/gui/pan.cc.bak 2006-05-13 22:29:33.000000000 -0500 +++ pan/gui/pan.cc 2006-05-13 22:29:39.000000000 -0500 @@ -44,6 +44,12 @@ gtk_main_quit (); } + gboolean delete_event_cb (GtkWidget *w, GdkEvent *e, gpointer user_data) + { + gtk_main_quit (); + return true; + } + struct DataAndQueue { Data * data; @@ -219,6 +225,7 @@ GtkWidget * w (pane->root()); gtk_widget_show_all (w); g_signal_connect (G_OBJECT(w), "destroy", G_CALLBACK(destroy_cb), 0); + g_signal_connect (G_OBJECT(w), "delete-event", G_CALLBACK(delete_event_cb), 0); gtk_main (); } else { GMainLoop * main_loop = g_main_loop_new (NULL, false); @@ -236,6 +243,7 @@ gtk_window_set_resizable (GTK_WINDOW(window), true); gtk_window_set_icon (GTK_WINDOW(window), pixbuf); g_signal_connect (G_OBJECT(window), "destroy", G_CALLBACK(destroy_cb), 0); + g_signal_connect (G_OBJECT(window), "delete-event", G_CALLBACK(delete_event_cb), 0); g_object_unref (pixbuf); run_pan_in_window (cache, data, queue, prefs, GTK_WINDOW(window)); }