diff options
| author | Johan Hedberg <johan.hedberg@nokia.com> | 2009-01-08 15:53:39 +0200 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2009-01-08 15:53:39 +0200 | 
| commit | 4f62cd989705b938cd36535d25439d49146ec4b6 (patch) | |
| tree | b81f672b6a86b862a4c35f9516439f069aa1a842 | |
| parent | 7d2e5fd3f017cd2d48a77cd3c47a3005ddb65338 (diff) | |
Another fix to AT+CHLD=2
Swap() can't actually be used for calls in WAITING state. Instead simply
call Answer() for a waiting call and it will automatically put any
previously active call on hold.
| -rw-r--r-- | audio/telephony-maemo.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/audio/telephony-maemo.c b/audio/telephony-maemo.c index e32da967..669c7d95 100644 --- a/audio/telephony-maemo.c +++ b/audio/telephony-maemo.c @@ -780,15 +780,15 @@ void telephony_call_hold_req(void *telephony_device, const char *cmd)  			held = find_call_with_status(CSD_CALL_STATUS_HOLD);  			wait = find_call_with_status(CSD_CALL_STATUS_WAITING); -			if (call && (held || wait)) +			if (wait) +				err = answer_call(wait); +			else if (call && held)  				err = swap_calls();  			else {  				if (call)  					err = hold_call(call);  				if (held)  					err = unhold_call(held); -				if (wait) -					err = answer_call(wait);  			}  		}  		break; | 
