Index: xs/GtkAboutDialog.xs =================================================================== RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkAboutDialog.xs,v retrieving revision 1.10 diff -u -d -p -r1.10 GtkAboutDialog.xs --- xs/GtkAboutDialog.xs 29 Sep 2005 22:49:35 -0000 1.10 +++ xs/GtkAboutDialog.xs 18 Nov 2006 13:47:12 -0000 @@ -58,6 +58,8 @@ void gtk_show_about_dialog (class, GtkWi g_signal_connect (dialog, "delete_event", G_CALLBACK (gtk_widget_hide_on_delete), NULL); + g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_hide), NULL); + for (i = 2; i < items ; i+=2) { GParamSpec * pspec; char * name = SvPV_nolen (ST (i)); @@ -81,12 +83,15 @@ void gtk_show_about_dialog (class, GtkWi g_value_unset (&value); } } - if (parent) + if (parent) { + gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); + gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); g_object_set_data_full (G_OBJECT (parent), "gtk-about-dialog", dialog, g_object_unref); - else + } else { global_about_dialog = dialog; + } } gtk_window_present (GTK_WINDOW (dialog));