diff options
Diffstat (limited to 'src/mm-iface-modem-voice.c')
-rw-r--r-- | src/mm-iface-modem-voice.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mm-iface-modem-voice.c b/src/mm-iface-modem-voice.c index ba6b52c5..a91ca881 100644 --- a/src/mm-iface-modem-voice.c +++ b/src/mm-iface-modem-voice.c @@ -2419,11 +2419,13 @@ load_call_list_ready (MMIfaceModemVoice *self, mm_3gpp_call_info_list_free (call_info_list); } - /* setup the polling again */ - g_assert (!ctx->polling_id); - ctx->polling_id = g_timeout_add_seconds (CALL_LIST_POLLING_TIMEOUT_SECS, - (GSourceFunc) call_list_poll, - self); + /* setup the polling again, but only if it hasn't been done already while + * we reported calls (e.g. a new incoming call may have been detected that + * also triggers the poll setup) */ + if (!ctx->polling_id) + ctx->polling_id = g_timeout_add_seconds (CALL_LIST_POLLING_TIMEOUT_SECS, + (GSourceFunc) call_list_poll, + self); } static void |