diff options
author | Ray Strode <rstrode@redhat.com> | 2011-05-10 14:36:40 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2011-05-18 23:39:12 -0400 |
commit | 4d1c05c1c2d6a054a220eb2aab61ba292e3ac21e (patch) | |
tree | f69f8d8003260fff0c11d34f561f03d935df0620 /src | |
parent | eb4e639003aeef5cf17a153ee485c14dfa8431c9 (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.c | 9 |
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); |