summaryrefslogtreecommitdiff
path: root/src/libaccountsservice/act-user-manager.c
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2013-06-28 14:52:26 +0100
committerRay Strode <rstrode@redhat.com>2013-07-01 09:47:40 -0400
commit254e959f71c44c95c932f9dd04ad809c32aaee4e (patch)
tree1d62c8bf46b2bc2c2c22b8f7f3a53d9320ee9017 /src/libaccountsservice/act-user-manager.c
parent8fc6d65c79a484ef556bb8abad93599e12d93678 (diff)
downloadaccountsservice-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.c3
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