--- control-center-2.12.1/capplets/about-me/gnome-about-me.c.userhelper	2005-11-14 08:58:57.000000000 -0500
+++ control-center-2.12.1/capplets/about-me/gnome-about-me.c	2005-11-14 09:07:35.000000000 -0500
@@ -32,7 +32,6 @@
 #include <libebook/e-book.h>
 
 #include "e-image-chooser.h"
-#include "gnome-about-me-password.h"
 
 #include "capplet-util.h"
 
@@ -646,10 +645,12 @@
 static void
 about_me_passwd_clicked_cb (GtkWidget *button, GnomeAboutMe *me)
 {
+        gchar *argv[2]; 
 	GladeXML *dialog;
 	
-	dialog = me->dialog;
-	gnome_about_me_password (GTK_WINDOW (WID ("about-me-dialog")));
+        argv[0] = "/usr/bin/userpasswd";
+        argv[1] = NULL;
+	g_spawn_async (NULL, argv, NULL, 0, NULL, NULL, NULL, NULL);
 }
 
 static gint
@@ -660,10 +661,7 @@
 	GtkIconInfo  *icon;
 	GladeXML     *dialog;
 	GError 	     *error = NULL;
-
-	struct passwd *pwent;
-	char *user = NULL;
-	gchar *str;
+	gchar        *str;
 
 	me = g_new0 (GnomeAboutMe, 1);
 
@@ -730,47 +728,22 @@
 		} 
 	}
 
-	/************************************************/
-	user = get_user_login ();
-	setpwent ();
-	pwent = getpwnam (user);
-	if (pwent == NULL) {
-		about_me_error (GTK_WINDOW (WID ("about-me-dialog")), 
-				_("Unknown login ID, the user database might be corrupted"));
-		return -1;
-	}
-	gchar **tok;
-	tok = g_strsplit (pwent->pw_gecos, ",", 0);
-
-	/************************************************/
-
-	me->login = g_strdup (user);
-	if (tok[0] == NULL || strlen (tok[0]) == 0)
-		me->username = NULL;
-	else
-		me->username = g_strdup (tok[0]);
+	me->login = g_strdup (g_get_user_name ());
+	me->username = g_strdup (g_get_real_name ());
 
 	/* Contact Tab */
 	about_me_load_photo (me, me->contact);
 
 	widget = WID ("fullname"); 
-	if (tok[0] == NULL || strlen (tok[0]) == 0) {
-		str = g_strdup_printf ("<b><span size=\"xx-large\">%s</span></b>", user);
-	} else {
-		str = g_strdup_printf ("<b><span size=\"xx-large\">%s</span></b>", tok[0]);
-	}
+	str = g_strdup_printf ("<b><span size=\"xx-large\">%s</span></b>", me->username);
 
 	gtk_label_set_markup (GTK_LABEL (widget), str);
 	g_free (str);
 
 	widget = WID ("login");
-	gtk_label_set_text (GTK_LABEL (widget), user);
+	gtk_label_set_text (GTK_LABEL (widget), me->login);
 
-	if (tok[0] == NULL || strlen (tok[0]) == 0) {
-		str = g_strdup_printf (_("About %s"), user);
-	} else {
-		str = g_strdup_printf (_("About %s"), tok[0]);
-	}
+	str = g_strdup_printf (_("About %s"), me->username);
 	gtk_window_set_title (GTK_WINDOW (main_dialog), str);
 	g_free (str);
 
