5d9d587
diff -up gnome-control-center-2.25.2/capplets/about-me/gnome-about-me.c.passwd gnome-control-center-2.25.2/capplets/about-me/gnome-about-me.c
5d9d587
--- gnome-control-center-2.25.2/capplets/about-me/gnome-about-me.c.passwd	2008-12-01 08:32:12.000000000 -0500
5d9d587
+++ gnome-control-center-2.25.2/capplets/about-me/gnome-about-me.c	2008-12-04 12:54:24.000000000 -0500
5d9d587
@@ -39,7 +39,6 @@
5d9d587
 #endif
2183e2a
 
2183e2a
 #include "e-image-chooser.h"
2183e2a
-#include "gnome-about-me-password.h"
5d9d587
 #include "gnome-about-me-fingerprint.h"
5d9d587
 #include "marshal.h"
2183e2a
 
5d9d587
@@ -883,10 +882,7 @@ about_me_button_clicked_cb (GtkDialog *d
2183e2a
 static void
2183e2a
 about_me_passwd_clicked_cb (GtkWidget *button, GnomeAboutMe *me)
2183e2a
 {
2183e2a
-	GladeXML *dialog;
5d9d587
-
2183e2a
-	dialog = me->dialog;
2183e2a
-	gnome_about_me_password (GTK_WINDOW (WID ("about-me-dialog")));
0d6982b
+        g_spawn_command_line_async ("/usr/bin/userpasswd", NULL);
2183e2a
 }
2183e2a
 
5d9d587
 static void
5d9d587
@@ -906,10 +902,7 @@ about_me_setup_dialog (void)
2183e2a
 	GladeXML     *dialog;
2183e2a
 	GError 	     *error = NULL;
2183e2a
 	GList        *chain;
2183e2a
-
2183e2a
-	struct passwd *pwent;
2183e2a
-	gchar *str;
2183e2a
-	gchar **tok;
2183e2a
+	gchar        *str;
2183e2a
 
2183e2a
 	me = g_new0 (GnomeAboutMe, 1);
2183e2a
 
5d9d587
@@ -978,34 +971,14 @@ about_me_setup_dialog (void)
2183e2a
 		about_me_setup_email (me);
2183e2a
 	}
2183e2a
 
2183e2a
-	/************************************************/
2183e2a
-	me->login = get_user_login ();
2183e2a
-	setpwent ();
2183e2a
-	pwent = getpwnam (me->login);
2183e2a
-	if (pwent == NULL) {
2183e2a
-		about_me_error (GTK_WINDOW (WID ("about-me-dialog")),
2183e2a
-				_("Unknown login ID, the user database might be corrupted"));
2183e2a
-		about_me_destroy (me);
2183e2a
-		return -1;
2183e2a
-	}
2183e2a
-	tok = g_strsplit (pwent->pw_gecos, ",", 0);
2183e2a
-
2183e2a
-	/************************************************/
2183e2a
-
2183e2a
-	if (tok[0] == NULL || *tok[0] == '\0')
2183e2a
-		me->username = NULL;
2183e2a
-	else
2183e2a
-		me->username = g_strdup (tok[0]);
2183e2a
+	me->login = g_strdup (g_get_user_name ());
2183e2a
+	me->username = g_strdup (g_get_real_name ());
2183e2a
 
2183e2a
 	/* Contact Tab */
2183e2a
 	about_me_load_photo (me, me->contact);
2183e2a
 
2183e2a
 	widget = WID ("fullname");
2183e2a
-	if (tok[0] == NULL || *tok[0] == '\0') {
2183e2a
-		str = g_strdup_printf ("%s", me->login);
2183e2a
-	} else {
2183e2a
-		str = g_strdup_printf ("%s", tok[0]);
2183e2a
-	}
2183e2a
+	str = g_strdup_printf ("%s", me->username);
2183e2a
 
2183e2a
 	gtk_label_set_markup (GTK_LABEL (widget), str);
2183e2a
 	g_free (str);
5d9d587
@@ -1013,14 +986,9 @@ about_me_setup_dialog (void)
2183e2a
 	widget = WID ("login");
2183e2a
 	gtk_label_set_text (GTK_LABEL (widget), me->login);
2183e2a
 
2183e2a
-	if (tok[0] == NULL || *tok[0] == '\0') {
2183e2a
-		str = g_strdup_printf (_("About %s"), me->login);
2183e2a
-	} else {
2183e2a
-		str = g_strdup_printf (_("About %s"), tok[0]);
2183e2a
-	}
2183e2a
+	str = g_strdup_printf (_("About %s"), me->username);
2183e2a
 	gtk_window_set_title (GTK_WINDOW (main_dialog), str);
2183e2a
 	g_free (str);
2183e2a
-	g_strfreev (tok);
2183e2a
 
2183e2a
 	widget = WID ("password");
2183e2a
 	g_signal_connect (widget, "clicked",