From d70072b20ab2f6f4fdd535c454a925d9348a2eb3 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 25 Feb 2008 22:08:45 +0000 Subject: [PATCH] 2008-02-25 Dan Williams * libnm-glib/nm-settings.c - (set_property): use g_value_dup_object() to ref the object as was intended originally git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3343 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 6 ++++++ libnm-glib/nm-settings.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1220a21267..bfd3396c36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-02-25 Dan Williams + + * libnm-glib/nm-settings.c + - (set_property): use g_value_dup_object() to ref the object as was + intended originally + 2008-02-25 Dan Williams * libnm-util/nm-utils.c diff --git a/libnm-glib/nm-settings.c b/libnm-glib/nm-settings.c index e310984d1f..05f2dbccd7 100644 --- a/libnm-glib/nm-settings.c +++ b/libnm-glib/nm-settings.c @@ -230,13 +230,19 @@ static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { + GObject *connection; NMExportedConnectionPrivate *priv = NM_EXPORTED_CONNECTION_GET_PRIVATE (object); switch (prop_id) { case PROP_CONNECTION: - if (priv->wrapped) + if (priv->wrapped) { g_object_unref (priv->wrapped); - priv->wrapped = g_value_get_object (value); + priv->wrapped = NULL; + } + + connection = g_value_dup_object (value); + if (connection) + priv->wrapped = NM_CONNECTION (connection); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);