diff options
author | Ray Strode <rstrode@redhat.com> | 2010-09-10 10:40:49 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2010-09-10 13:36:09 -0400 |
commit | 02f11f48cb6a22b330512c7264e4baea594e6e33 (patch) | |
tree | df07904031acc459f4352affddfdbccbd5e1cabd | |
parent | 10d14fb3d057f5fa3ddecd43aaf68b73d1f68771 (diff) | |
download | gdm-02f11f48cb6a22b330512c7264e4baea594e6e33.tar.gz |
Use create_new_user in get_user call
Previously, we would call two different constructors, depending
on whether or not the user was coming from the accounts service
or the nsswitch. Now we create a new "unloaded" user immediately,
and just call the relevant update function to load the user.
-rw-r--r-- | gui/simple-greeter/gdm-user-manager.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/gui/simple-greeter/gdm-user-manager.c b/gui/simple-greeter/gdm-user-manager.c index 69644156..bd36380c 100644 --- a/gui/simple-greeter/gdm-user-manager.c +++ b/gui/simple-greeter/gdm-user-manager.c @@ -745,20 +745,6 @@ add_user (GdmUserManager *manager, } } -static GdmUser * -add_new_user_for_pwent (GdmUserManager *manager, - struct passwd *pwent) -{ - GdmUser *user; - - g_debug ("GdmUserManager: Creating new user from password entry: %s", pwent->pw_name); - - user = create_new_user (manager); - _gdm_user_update_from_pwent (user, pwent); - - return user; -} - static void remove_user (GdmUserManager *manager, GdmUser *user) @@ -1576,20 +1562,24 @@ gdm_user_manager_get_user (GdmUserManager *manager, /* if we don't have it loaded try to load it now */ if (user == NULL) { + user = create_new_user (manager); + if (manager->priv->accounts_proxy != NULL) { char *object_path; object_path = get_user_object_path_from_accounts_service (manager, username); if (object_path != NULL) { - user = add_new_user_for_object_path (object_path, manager); + _gdm_user_update_from_object_path (user, object_path); g_free (object_path); } } else { struct passwd *pwent; + get_pwent_for_name (username, &pwent); + if (pwent != NULL) { - user = add_new_user_for_pwent (manager, pwent); + _gdm_user_update_from_pwent (user, pwent); } } } |