aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-07-10 12:40:04 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-06 20:06:45 +0200
commitb816887cace031b1b5fc33818fba9b513850f5b6 (patch)
tree7b3fc8004831de69d7f33c70f96229218b5f9343 /src
parent87c2c8632e73a5e128c8b47a958e02fb809618c9 (diff)
port-probe: use dispose() to cleanup internal object references
Diffstat (limited to 'src')
-rw-r--r--src/mm-port-probe.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index 656f0434..425f3dfb 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -1050,8 +1050,6 @@ finalize (GObject *object)
g_free (self->priv->name);
g_free (self->priv->physdev_path);
g_free (self->priv->driver);
- g_object_unref (self->priv->port);
-
g_free (self->priv->vendor);
g_free (self->priv->product);
@@ -1059,6 +1057,16 @@ finalize (GObject *object)
}
static void
+dispose (GObject *object)
+{
+ MMPortProbe *self = MM_PORT_PROBE (object);
+
+ g_clear_object (&self->priv->port);
+
+ G_OBJECT_CLASS (mm_port_probe_parent_class)->dispose (object);
+}
+
+static void
mm_port_probe_class_init (MMPortProbeClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -1067,4 +1075,5 @@ mm_port_probe_class_init (MMPortProbeClass *klass)
/* Virtual methods */
object_class->finalize = finalize;
+ object_class->dispose = dispose;
}