mirror of git://git.sysmocom.de/ofono
voicecall: Make hangup_all work for 911 calls
This commit is contained in:
parent
5d52804373
commit
bab23b3976
|
@ -793,14 +793,25 @@ static void voicecalls_release_next(struct ofono_voicecall *vc)
|
|||
|
||||
vc->release_list = g_slist_remove(vc->release_list, call);
|
||||
|
||||
if (vc->driver->hangup_active != NULL &&
|
||||
(call->call->status == CALL_STATUS_ALERTING ||
|
||||
call->call->status == CALL_STATUS_DIALING ||
|
||||
call->call->status == CALL_STATUS_INCOMING))
|
||||
if (vc->driver->hangup_active == NULL)
|
||||
goto fallback;
|
||||
|
||||
if (call->call->status == CALL_STATUS_ACTIVE &&
|
||||
voicecalls_num_active(vc) == 1) {
|
||||
vc->driver->hangup_active(vc, multirelease_callback, vc);
|
||||
else
|
||||
vc->driver->release_specific(vc, call->call->id,
|
||||
multirelease_callback, vc);
|
||||
return;
|
||||
}
|
||||
|
||||
if (call->call->status == CALL_STATUS_ALERTING ||
|
||||
call->call->status == CALL_STATUS_DIALING ||
|
||||
call->call->status == CALL_STATUS_INCOMING) {
|
||||
vc->driver->hangup_active(vc, multirelease_callback, vc);
|
||||
return;
|
||||
}
|
||||
|
||||
fallback:
|
||||
vc->driver->release_specific(vc, call->call->id,
|
||||
multirelease_callback, vc);
|
||||
}
|
||||
|
||||
static DBusMessage *manager_get_properties(DBusConnection *conn,
|
||||
|
|
Loading…
Reference in New Issue