aboutsummaryrefslogtreecommitdiff
path: root/src/mm-bearer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-bearer.c')
-rw-r--r--src/mm-bearer.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mm-bearer.c b/src/mm-bearer.c
index f57ea8be..6592619b 100644
--- a/src/mm-bearer.c
+++ b/src/mm-bearer.c
@@ -441,7 +441,12 @@ disconnect_after_cancel_ready (MMBearer *self,
else
mm_dbg ("Disconnected bearer '%s'", self->priv->path);
- bearer_update_status (self, MM_BEARER_STATUS_DISCONNECTED);
+ /* Report disconnection to the bearer object using class method
+ * mm_bearer_report_connection_status. This gives subclass implementations a
+ * chance to correctly update their own connection state, in case this base
+ * class ignores a failed disconnection attempt.
+ */
+ mm_bearer_report_connection_status (self, MM_BEARER_CONNECTION_STATUS_DISCONNECTED);
}
static void
@@ -945,7 +950,12 @@ disconnect_force_ready (MMBearer *self,
else
mm_dbg ("Disconnected bearer '%s'", self->priv->path);
- bearer_update_status (self, MM_BEARER_STATUS_DISCONNECTED);
+ /* Report disconnection to the bearer object using class method
+ * mm_bearer_report_connection_status. This gives subclass implementations a
+ * chance to correctly update their own connection state, in case this base
+ * class ignores a failed disconnection attempt.
+ */
+ mm_bearer_report_connection_status (self, MM_BEARER_CONNECTION_STATUS_DISCONNECTED);
}
void