diff options
author | Tim Lunn <tim@feathertop.org> | 2013-11-09 10:59:54 +1100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2013-11-09 13:17:59 +0100 |
commit | a1acdc0aa5af1c2716ff30bcfb8987de7ca3acc9 (patch) | |
tree | d25ad212ce22fb93b312aed0ac368101c58c4d40 | |
parent | 8f71e60bae2b04464721a1f5db98e503e100bf3e (diff) | |
download | gnome-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.c | 6 |
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; |