diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2008-10-22 15:02:52 +0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2008-12-08 16:10:57 +0200 |
commit | 3268a8f5e7de350b10e169ad36a86f5c0063ea32 (patch) | |
tree | 513f743a8fc2d49abdad7f803003cead9ffd49c2 | |
parent | fa15432a30e9726a79ad01596c2dd296c224e8b1 (diff) |
Send correct "callheld" indicator when call becomes active from being held
-rw-r--r-- | audio/telephony-maemo.c | 15 |
1 files changed, 13 insertions, 2 deletions
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, |