diff options
author | Vincent Untz <vuntz@gnome.org> | 2011-10-17 20:02:08 +0200 |
---|---|---|
committer | Ross Burton <ross@linux.intel.com> | 2011-10-23 21:08:35 +0100 |
commit | 54318ebf218743ea1a3353f940eb8f44767fd2bb (patch) | |
tree | 8e45df8ca318a7bd79081b4a6afea0bd6cf4c6e2 /gconf | |
parent | d77bfc60f0e27d1db24a18661f1a248307307ce1 (diff) | |
download | gconf-54318ebf218743ea1a3353f940eb8f44767fd2bb.tar.gz |
gconf-dbus: Do not drop old databases that have clients listening to it
This would be bad as clients would get lost when the object path of this
dropped database disappears.
https://bugzilla.gnome.org/show_bug.cgi?id=659835
Diffstat (limited to 'gconf')
-rw-r--r-- | gconf/gconfd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gconf/gconfd.c b/gconf/gconfd.c index 33deb48d..bc62af45 100644 --- a/gconf/gconfd.c +++ b/gconf/gconfd.c @@ -1280,6 +1280,10 @@ drop_old_databases(void) if (db->listeners && /* not already hibernating */ gconf_listeners_count(db->listeners) == 0 && /* Can hibernate */ +#ifdef HAVE_DBUS + db->listening_clients && + g_hash_table_size (db->listening_clients) == 0 && +#endif (now - db->last_access) > (60*20)) /* 20 minutes without access */ { dead = g_list_prepend (dead, db); |