From 3268a8f5e7de350b10e169ad36a86f5c0063ea32 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Wed, 22 Oct 2008 15:02:52 +0300 Subject: Send correct "callheld" indicator when call becomes active from being held --- audio/telephony-maemo.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'audio/telephony-maemo.c') diff --git a/audio/telephony-maemo.c b/audio/telephony-maemo.c index 50ad4fb1..24b26996 100644 --- a/audio/telephony-maemo.c +++ b/audio/telephony-maemo.c @@ -569,6 +569,9 @@ static void handle_call_status(DBusMessage *msg, const char *call_path) EV_CALLSETUP_OUTGOING); break; case CSD_CALL_STATUS_COMING: + /* Actuall incoming call handling is done in + * handle_incoming_call() which is called when we get the + * Call.Coming() signal */ call->originating = FALSE; call->setup = TRUE; break; @@ -586,9 +589,17 @@ static void handle_call_status(DBusMessage *msg, const char *call_path) case CSD_CALL_STATUS_ANSWERED: break; case CSD_CALL_STATUS_ACTIVE: - if (call->on_hold) + if (call->on_hold) { call->on_hold = FALSE; - else { + if (find_call_with_status(CSD_CALL_STATUS_HOLD)) + telephony_update_indicator(maemo_indicators, + "callheld", + EV_CALLHELD_MULTIPLE); + else + telephony_update_indicator(maemo_indicators, + "callheld", + EV_CALLHELD_NONE); + } else { telephony_update_indicator(maemo_indicators, "call", EV_CALL_ACTIVE); telephony_update_indicator(maemo_indicators, -- cgit