summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Lunn <tim@feathertop.org>2013-11-09 10:59:54 +1100
committerBastien Nocera <hadess@hadess.net>2013-11-09 13:17:59 +0100
commita1acdc0aa5af1c2716ff30bcfb8987de7ca3acc9 (patch)
treed25ad212ce22fb93b312aed0ac368101c58c4d40
parent8f71e60bae2b04464721a1f5db98e503e100bf3e (diff)
downloadgnome-settings-daemon-a1acdc0aa5af1c2716ff30bcfb8987de7ca3acc9.tar.gz
xsettings: unwatch dbus before destroying xsettings managers
fix possible race since notify_have_shell is getting called after the managers are destroyed. https://bugzilla.gnome.org/show_bug.cgi?id=711238 Conflicts: plugins/xsettings/gsd-xsettings-manager.c
-rw-r--r--plugins/xsettings/gsd-xsettings-manager.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/plugins/xsettings/gsd-xsettings-manager.c b/plugins/xsettings/gsd-xsettings-manager.c
index 03dcb6a3..c5358760 100644
--- a/plugins/xsettings/gsd-xsettings-manager.c
+++ b/plugins/xsettings/gsd-xsettings-manager.c
@@ -1075,6 +1075,9 @@ gnome_xsettings_manager_stop (GnomeXSettingsManager *manager)
g_clear_object (&manager->priv->remote_display);
+ if (p->shell_name_watch_id > 0)
+ g_bus_unwatch_name (p->shell_name_watch_id);
+
if (p->managers != NULL) {
for (i = 0; p->managers [i]; ++i)
xsettings_manager_destroy (p->managers [i]);
@@ -1090,9 +1093,6 @@ gnome_xsettings_manager_stop (GnomeXSettingsManager *manager)
stop_fontconfig_monitor (manager);
- if (manager->priv->shell_name_watch_id > 0)
- g_bus_unwatch_name (manager->priv->shell_name_watch_id);
-
if (p->settings != NULL) {
g_hash_table_destroy (p->settings);
p->settings = NULL;