summaryrefslogtreecommitdiff
path: root/libnm/nm-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm/nm-client.c')
-rw-r--r--libnm/nm-client.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libnm/nm-client.c b/libnm/nm-client.c
index f6a2256709..4e4f194f5c 100644
--- a/libnm/nm-client.c
+++ b/libnm/nm-client.c
@@ -1825,8 +1825,14 @@ dispose (GObject *object)
{
NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (object);
- g_clear_object (&priv->manager);
- g_clear_object (&priv->settings);
+ if (priv->manager) {
+ g_signal_handlers_disconnect_by_data (priv->manager, object);
+ g_clear_object (&priv->manager);
+ }
+ if (priv->settings) {
+ g_signal_handlers_disconnect_by_data (priv->settings, object);
+ g_clear_object (&priv->settings);
+ }
G_OBJECT_CLASS (nm_client_parent_class)->dispose (object);
}