aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-manager.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-05-23 12:17:40 +0200
committerAleksander Morgado <aleksander@aleksander.es>2021-05-26 13:14:52 +0000
commit8f48ba21af64a20fa7ae42169fb794e30f91e8fc (patch)
tree3eb8d50d7ae2f7e86a678b8f815c1937dce37ba7 /src/mm-base-manager.c
parent01223b2d4dd61d3a3801543981791927b0746a66 (diff)
base-manager: don't assume a MMDevice always holds a MMModem
There are cases, e.g. during modem object disposal, where this is not true.
Diffstat (limited to 'src/mm-base-manager.c')
-rw-r--r--src/mm-base-manager.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mm-base-manager.c b/src/mm-base-manager.c
index f538469a..bf5eaea9 100644
--- a/src/mm-base-manager.c
+++ b/src/mm-base-manager.c
@@ -763,9 +763,13 @@ mm_base_manager_sync (MMBaseManager *self)
/* Refresh each device */
g_hash_table_iter_init (&iter, self->priv->devices);
while (g_hash_table_iter_next (&iter, &key, &value)) {
- MMBaseModem *modem = mm_device_peek_modem (MM_DEVICE (value));
+ MMBaseModem *modem;
+
+ modem = mm_device_peek_modem (MM_DEVICE (value));
+
/* We just want to start the synchronization, we don't need the result */
- mm_base_modem_sync (modem, (GAsyncReadyCallback)mm_base_modem_sync_ready, NULL);
+ if (modem)
+ mm_base_modem_sync (modem, (GAsyncReadyCallback)mm_base_modem_sync_ready, NULL);
}
}