summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2015-10-22 11:27:08 (GMT)
committerSebastien Bacher <seb128@ubuntu.com>2015-10-22 15:41:04 (GMT)
commite9c249bb4fb99766e0d1e4d087ca39a33922a4bc (patch)
tree82b26f385886e3b927983646065d5d462637a585
parente6ebb3a0d19e6fa7558bb94b77e59423cc64fd94 (diff)
downloadgnome-settings-daemon-e9c249bb4fb99766e0d1e4d087ca39a33922a4bc.zip
gnome-settings-daemon-e9c249bb4fb99766e0d1e4d087ca39a33922a4bc.tar.xz
xsettings: Fix segfault when unloading plugin
Disconnect the signal from plugin_settings when unloading the plugin so it's not called after the plugin has been freed. https://bugzilla.gnome.org/show_bug.cgi?id=756958
-rw-r--r--plugins/xsettings/gsd-xsettings-manager.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/plugins/xsettings/gsd-xsettings-manager.c b/plugins/xsettings/gsd-xsettings-manager.c
index b2e65e7..771a8c3 100644
--- a/plugins/xsettings/gsd-xsettings-manager.c
+++ b/plugins/xsettings/gsd-xsettings-manager.c
@@ -1320,6 +1320,7 @@ gnome_xsettings_manager_stop (GnomeXSettingsManager *manager)
}
if (p->plugin_settings != NULL) {
+ g_signal_handlers_disconnect_by_data (p->plugin_settings, manager);
g_object_unref (p->plugin_settings);
p->plugin_settings = NULL;
}