From a1acdc0aa5af1c2716ff30bcfb8987de7ca3acc9 Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Sat, 9 Nov 2013 10:59:54 +1100 Subject: 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 --- plugins/xsettings/gsd-xsettings-manager.c | 6 +++--- 1 file 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; -- cgit v1.2.1