diff options
| -rw-r--r-- | audio/telephony-maemo.c | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/audio/telephony-maemo.c b/audio/telephony-maemo.c index 06b2814c..5433885c 100644 --- a/audio/telephony-maemo.c +++ b/audio/telephony-maemo.c @@ -959,6 +959,10 @@ static void handle_call_status(DBusMessage *msg, const char *call_path)  	case CSD_CALL_STATUS_ACTIVE:  		if (call->on_hold) {  			call->on_hold = FALSE; +			/* Set the status already here since otherwise +			 * find_call_with_status will match this call even +			 * though it shouldn't */ +			call->status = (int) status;  			if (find_call_with_status(CSD_CALL_STATUS_HOLD))  				telephony_update_indicator(maemo_indicators,  							"callheld", @@ -1000,6 +1004,16 @@ static void handle_call_status(DBusMessage *msg, const char *call_path)  	case CSD_CALL_STATUS_RECONNECT_PENDING:  		break;  	case CSD_CALL_STATUS_TERMINATED: +		if (call->on_hold) { +			/* Set the status already here since otherwise +			 * find_call_with_status will match this call even +			 * though it shouldn't */ +			call->status = (int) status; +			if (!find_call_with_status(CSD_CALL_STATUS_HOLD)) +				telephony_update_indicator(maemo_indicators, +								"callheld", +								EV_CALLHELD_NONE); +		}  		break;  	case CSD_CALL_STATUS_SWAP_INITIATED:  		break; | 
