diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2019-07-02 14:52:00 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2019-07-11 23:21:00 +0200 |
commit | 6f235192393fbc345bf79bcf8205d7279f584f91 (patch) | |
tree | 9a376dc01dcce9471d567c5ab73233ee8dce9cf2 | |
parent | 213c60b76d1c0455a4f95b927514de2ef1388ed5 (diff) |
iface-modem-voice: disable special terminated match on multiparty calls
-rw-r--r-- | src/mm-iface-modem-voice.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mm-iface-modem-voice.c b/src/mm-iface-modem-voice.c index 4effd062..b8fa2525 100644 --- a/src/mm-iface-modem-voice.c +++ b/src/mm-iface-modem-voice.c @@ -117,11 +117,16 @@ match_single_call_info (const MMCallInfo *call_info, (!call_info->index || !idx || match_index)) match_direction_and_state = TRUE; - /* Match special terminated event */ + /* Match special terminated event. + * We cannot apply this match if the call is part of a multiparty + * call, because we don't know which of the calls in the multiparty + * is the one that finished. Must rely on other reports that do + * provide call index. */ if ((call_info->state == MM_CALL_STATE_TERMINATED) && (call_info->direction == MM_CALL_DIRECTION_UNKNOWN) && !call_info->index && - !call_info->number) + !call_info->number && + !mm_base_call_get_multiparty (call)) match_terminated = TRUE; /* If no clear match, nothing to do */ |