diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-06-28 14:52:26 +0100 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2013-07-01 09:47:40 -0400 |
commit | 254e959f71c44c95c932f9dd04ad809c32aaee4e (patch) | |
tree | 1d62c8bf46b2bc2c2c22b8f7f3a53d9320ee9017 /src/libaccountsservice/act-user-manager.c | |
parent | 8fc6d65c79a484ef556bb8abad93599e12d93678 (diff) | |
download | accountsservice-254e959f71c44c95c932f9dd04ad809c32aaee4e.tar.gz |
ActUserManager: handle nonexistent users
Right now if a nonexistent user is requested from the accounts service,
we don't give the caller any sort of notication that the user doesn't
exist. This cascades into d-bus timeouts and ultimately a broken login
screen.
This commit adds a new "nonexistent" user property to the user object
and sets it to TRUE when a requested user fails to load. It also
makes sure the user objects is-loaded property gets set.
Based on a patch by Lionel Landwerlin <llandwerlin@gmail.com>
https://bugs.freedesktop.org/show_bug.cgi?id=66325
Diffstat (limited to 'src/libaccountsservice/act-user-manager.c')
-rw-r--r-- | src/libaccountsservice/act-user-manager.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c index 8e2d349..32a7893 100644 --- a/src/libaccountsservice/act-user-manager.c +++ b/src/libaccountsservice/act-user-manager.c @@ -2148,6 +2148,9 @@ give_up (ActUserManager *manager, g_debug ("ActUserManager: account service unavailable, " "giving up"); request->state = ACT_USER_MANAGER_GET_USER_STATE_UNFETCHED; + + if (request->user) + _act_user_update_as_nonexistent (request->user); } static void |