diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2021-05-23 12:17:40 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-05-26 13:14:52 +0000 |
commit | 8f48ba21af64a20fa7ae42169fb794e30f91e8fc (patch) | |
tree | 3eb8d50d7ae2f7e86a678b8f815c1937dce37ba7 /src/mm-base-manager.c | |
parent | 01223b2d4dd61d3a3801543981791927b0746a66 (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.c | 8 |
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); } } |