libnm: make dispose() of NMClient reentrant

Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
Thomas Haller 2014-11-07 23:08:13 +01:00
parent a1a338f9b0
commit dde8e703f8

View file

@ -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);
}