aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2019-07-02 14:52:00 +0200
committerAleksander Morgado <aleksander@aleksander.es>2019-07-11 23:21:00 +0200
commit6f235192393fbc345bf79bcf8205d7279f584f91 (patch)
tree9a376dc01dcce9471d567c5ab73233ee8dce9cf2
parent213c60b76d1c0455a4f95b927514de2ef1388ed5 (diff)
iface-modem-voice: disable special terminated match on multiparty calls
-rw-r--r--src/mm-iface-modem-voice.c9
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 */