summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2018-05-09 09:26:57 -0400
committerRay Strode <rstrode@redhat.com>2018-05-09 13:29:15 -0400
commit9d14729519d1d33768cd2df139d44eaabe56ce68 (patch)
tree9128a3cf0afa4eaad9180fb6ea16d2e5f965b9ec
parent7ab92b1ef2b8f20ed7d2cab528217ad65bdd52f5 (diff)
daemon: don't emit user-deleted for uncached users
Right now we emit spurious user-deleted signals for all uncached users anytime a reload occurs. Uncached users are users explicitly requested by a client, but not part of the results returned from ListCachedUsers. We should only be emitting user-deleted it they were initially cached and transitioned to uncached, not if they're still hanging around in an uncached state. This commit fixes the code to do that. https://bugs.freedesktop.org/show_bug.cgi?id=106455
-rw-r--r--src/daemon.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/daemon.c b/src/daemon.c
index d3fa971..a12b71b 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -509,7 +509,7 @@ reload_users (Daemon *daemon)
refreshed_user = g_hash_table_lookup (users, name);
- if (!refreshed_user || !user_get_cached (refreshed_user)) {
+ if (!refreshed_user || user_get_cached (user) && !user_get_cached (refreshed_user)) {
accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon),
user_get_object_path (user));
user_unregister (user);