--- gnome-control-center-2.28.1/capplets/about-me/gnome-about-me.c.orig	2009-10-29 14:19:33.085836000 +0800
+++ gnome-control-center-2.28.1/capplets/about-me/gnome-about-me.c	2009-10-29 14:36:28.104978000 +0800
@@ -799,6 +799,14 @@
 }
 
 static void
+end_program (GtkWidget *widget, gpointer data)
+{
+	GnomeAboutMe *me = (GnomeAboutMe *)data;
+	about_me_destroy (me);
+	gtk_main_quit ();
+}
+
+static void
 about_me_button_clicked_cb (GtkDialog *dialog, gint response_id, GnomeAboutMe *me)
 {
 	if (response_id == GTK_RESPONSE_HELP)
@@ -808,9 +816,6 @@
 			g_source_remove (me->commit_timeout_id);
 			about_me_commit (me);
 		}
-
-		about_me_destroy (me);
-		gtk_main_quit ();
 	}
 }
 
@@ -879,6 +884,8 @@
 	main_dialog = WID ("about-me-dialog");
 	g_signal_connect (main_dialog, "response",
 			  G_CALLBACK (about_me_button_clicked_cb), me);
+	g_signal_connect (main_dialog, "destroy",
+	          G_CALLBACK (end_program), me);
 
 	gtk_window_set_resizable (GTK_WINDOW (main_dialog), FALSE);
 	capplet_set_icon (main_dialog, "user-info");
