summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-08-11 17:55:16 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-08-12 11:32:12 -0500
commit2c9a2b8a993ae661f4607f14721f965a10b5a53e (patch)
treec9fcec119827699099763b4e610b14ebe0315482
parentdcf1c32f4c08ad9920e543f32dff24dc65f1f028 (diff)
downloadofono-2c9a2b8a993ae661f4607f14721f965a10b5a53e.tar.bz2
voicecall: Don't hangup waiting calls
During hangup_all operation. For multiparty hangups, waiting calls are not part of the mpty call.
-rw-r--r--src/voicecall.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/voicecall.c b/src/voicecall.c
index c1fbbebb..f07cea69 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -766,12 +766,19 @@ static void emit_multiparty_call_list_changed(struct ofono_voicecall *vc)
static void voicecalls_release_queue(struct ofono_voicecall *vc, GSList *calls)
{
GSList *l;
+ struct ofono_call *call;
g_slist_free(vc->release_list);
vc->release_list = NULL;
- for (l = calls; l; l = l->next)
+ for (l = calls; l; l = l->next) {
+ call = l->data;
+
+ if (call->status == CALL_STATUS_WAITING)
+ continue;
+
vc->release_list = g_slist_prepend(vc->release_list, l->data);
+ }
}
static void voicecalls_release_next(struct ofono_voicecall *vc)