summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalev Lember <kalevlember@gmail.com>2013-05-27 21:35:46 +0200
committerKalev Lember <kalevlember@gmail.com>2013-05-28 10:35:18 +0200
commitc984d5a220d38c331dcb56dde71bcace48a2581f (patch)
tree21eefbd46dd3e7d99d7aeb36255faf19d67417f2
parentf02d99e5e2c3045d27743090bab605e0e3186316 (diff)
downloadgnome-settings-daemon-c984d5a220d38c331dcb56dde71bcace48a2581f.tar.gz
updates: Disconnect session proxy signal handler in finalize
The session proxy can outlive the updates plugin, and then call back after the updates plugin has already been destroyed, leading to crashes. Disconnect the signal handler to fix that. https://bugzilla.gnome.org/show_bug.cgi?id=700988
-rw-r--r--plugins/updates/gsd-updates-refresh.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/plugins/updates/gsd-updates-refresh.c b/plugins/updates/gsd-updates-refresh.c
index a21f79cb..ebd566f9 100644
--- a/plugins/updates/gsd-updates-refresh.c
+++ b/plugins/updates/gsd-updates-refresh.c
@@ -551,6 +551,7 @@ gsd_updates_refresh_finalize (GObject *object)
g_source_remove (refresh->priv->periodic_id);
g_signal_handlers_disconnect_by_data (refresh->priv->client, refresh);
+ g_signal_handlers_disconnect_by_data (refresh->priv->proxy_session, refresh);
g_object_unref (refresh->priv->control);
g_object_unref (refresh->priv->settings);