diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-bearer.c | 14 |
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 |