From dde8e703f86d2e0aebd0840135ca43f0be822007 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 7 Nov 2014 23:08:13 +0100 Subject: [PATCH] libnm: make dispose() of NMClient reentrant Signed-off-by: Thomas Haller --- libnm/nm-client.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libnm/nm-client.c b/libnm/nm-client.c index b84fce5f95..4e4f194f5c 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -1825,10 +1825,14 @@ dispose (GObject *object) { NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (object); - g_signal_handlers_disconnect_by_data (priv->manager, object); - g_clear_object (&priv->manager); - g_signal_handlers_disconnect_by_data (priv->settings, object); - 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); }