summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2011-05-10 14:36:40 -0400
committerRay Strode <rstrode@redhat.com>2011-05-18 23:39:12 -0400
commit4d1c05c1c2d6a054a220eb2aab61ba292e3ac21e (patch)
treef69f8d8003260fff0c11d34f561f03d935df0620 /src
parenteb4e639003aeef5cf17a153ee485c14dfa8431c9 (diff)
lib: if ListCachedUsers returns zero users continue
We currently block for ListCachedUsers to finish. If after it finishes, we find out it returns 0 zero users we end up hanging indefinitely. This commit fixes that.
Diffstat (limited to 'src')
-rw-r--r--src/libaccountsservice/act-user-manager.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
index 72a329e..e63ad21 100644
--- a/src/libaccountsservice/act-user-manager.c
+++ b/src/libaccountsservice/act-user-manager.c
@@ -1216,8 +1216,13 @@ on_list_cached_users_finished (DBusGProxy *proxy,
*
* (see on_new_user_loaded)
*/
- g_debug ("ActUserManager: ListCachedUsers finished, will set loaded property after list is fully loaded");
- g_ptr_array_foreach (paths, (GFunc)add_new_inhibiting_user_for_object_path, manager);
+ if (paths->len > 0) {
+ g_debug ("ActUserManager: ListCachedUsers finished, will set loaded property after list is fully loaded");
+ g_ptr_array_foreach (paths, (GFunc)add_new_inhibiting_user_for_object_path, manager);
+ } else {
+ g_debug ("ActUserManager: ListCachedUsers finished with empty list, maybe setting loaded property now");
+ maybe_set_is_loaded (manager);
+ }
g_ptr_array_foreach (paths, (GFunc)g_free, NULL);
g_ptr_array_free (paths, TRUE);