summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-11-12 17:54:49 -0600
committerDenis Kenzior <denkenz@gmail.com>2009-11-12 19:16:32 -0600
commit9a703cd378f35b6efe2f9afe1f7095d6297fbe1c (patch)
treeff17a2e29a7b6458f5c6e11928b5171885df3490
parente9341c520354375a3647ad4e0a7db114929cb1b9 (diff)
downloadofono-9a703cd378f35b6efe2f9afe1f7095d6297fbe1c.tar.bz2
Use release_all_held to release a single held call
-rw-r--r--src/voicecall.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/voicecall.c b/src/voicecall.c
index 02ec484c..fea7a73e 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -296,6 +296,14 @@ static DBusMessage *voicecall_hangup(DBusConnection *conn,
return NULL;
}
+ if (num_calls == 1 && vc->driver->release_all_held &&
+ call->status == CALL_STATUS_HELD) {
+ vc->pending = dbus_message_ref(msg);
+ vc->driver->release_all_held(vc, generic_callback, vc);
+
+ return NULL;
+ }
+
if (vc->driver->release_specific == NULL)
return __ofono_error_not_implemented(msg);