summaryrefslogtreecommitdiffstats
path: root/audio/telephony-maemo.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2009-02-02 17:28:56 -0800
committerJohan Hedberg <johan.hedberg@nokia.com>2009-02-02 19:32:14 -0800
commit8b3e4cf9d9eaba3cfc5ec5361d136ebb84ab749f (patch)
treeeda5215bebfa2bb60f628881c31afb634aae892b /audio/telephony-maemo.c
parent8dcd4a1f5ef28836b6a8e1b8092fdb2278dd4928 (diff)
Fix callheld indicator updating
Diffstat (limited to 'audio/telephony-maemo.c')
-rw-r--r--audio/telephony-maemo.c14
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;