aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}