aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-13 13:49:25 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-16 14:53:24 +0100
commit56e7b15f5c2bb8f88dc638766774db1f15a5b4d0 (patch)
tree77e691a1e3c4ec8288d5ad72891832fb837307f4
parent09026ed89a0a7d85112aec52ca1e3ae57e497f11 (diff)
base-modem: ensure we cancel any ongoing operation when we're disposing
-rw-r--r--src/mm-base-modem.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c
index f2e0c0ac..e60284af 100644
--- a/src/mm-base-modem.c
+++ b/src/mm-base-modem.c
@@ -916,6 +916,12 @@ dispose (GObject *object)
/* Cancel all ongoing auth requests */
g_cancellable_cancel (self->priv->authp_cancellable);
+ g_clear_object (&self->priv->authp_cancellable);
+ g_clear_object (&self->priv->authp);
+
+ /* Ensure we cancel any ongoing operation */
+ g_cancellable_cancel (self->priv->cancellable);
+ g_clear_object (&self->priv->cancellable);
g_clear_object (&self->priv->primary);
g_clear_object (&self->priv->secondary);
@@ -927,13 +933,8 @@ dispose (GObject *object)
self->priv->ports = NULL;
}
- g_clear_object (&self->priv->cancellable);
-
g_clear_object (&self->priv->connection);
- g_clear_object (&self->priv->authp);
- g_clear_object (&self->priv->authp_cancellable);
-
G_OBJECT_CLASS (mm_base_modem_parent_class)->dispose (object);
}