From 93e0c72d9f667745464b73b1a9907123e9552129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 16 Jun 2024 15:00:35 +0200 Subject: [PATCH] mm-origin: Handle missing SIM case more gracefully This avoids warnings like gnome-calls[57992]: mm_sim_get_imsi: assertion 'MM_IS_SIM (self)' failed gnome-calls[57992]: mm_sim_dup_emergency_numbers: assertion 'MM_IS_SIM (self)' failed in the logs Part-of: --- plugins/provider/mm/calls-mm-origin.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/provider/mm/calls-mm-origin.c b/plugins/provider/mm/calls-mm-origin.c index 453444a..06cd306 100644 --- a/plugins/provider/mm/calls-mm-origin.c +++ b/plugins/provider/mm/calls-mm-origin.c @@ -882,13 +882,18 @@ get_sim_ready_cb (MMModem *modem, GAsyncResult *res, gpointer user_data) { + g_autoptr (GError) err = NULL; g_autoptr (CallsMMOrigin) self = NULL; const char *code; g_assert (CALLS_IS_MM_ORIGIN (user_data)); self = CALLS_MM_ORIGIN (user_data); - self->sim = mm_modem_get_sim_finish (modem, res, NULL); + self->sim = mm_modem_get_sim_finish (modem, res, &err); + if (!self->sim) { + g_warning ("Couldn't get sim: %s", err->message); + return; + } code = get_country_iso_for_mcc (mm_sim_get_imsi (self->sim)); if (code && g_strcmp0 (self->country_code, code)) {