diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2008-10-21 17:31:20 +0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2008-12-08 16:10:56 +0200 |
commit | b5e8e0bf6f25900a7f1c2eb702a422e7e59ae09e (patch) | |
tree | 27f4fef194b04dc401432a2c97b32ae01f39064e | |
parent | 942947f4eddaad40216a91bb5865ef44cdf6be16 (diff) |
Add variable to monitor the callsetup stage
-rw-r--r-- | audio/telephony-maemo.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/audio/telephony-maemo.c b/audio/telephony-maemo.c index 6f67a04b..692b84e7 100644 --- a/audio/telephony-maemo.c +++ b/audio/telephony-maemo.c @@ -75,6 +75,7 @@ struct csd_call { gboolean on_hold; gboolean conference; char *number; + gboolean setup; }; static DBusConnection *connection = NULL; @@ -543,23 +544,31 @@ static void handle_call_status(DBusMessage *msg, const char *call_path) switch (status) { case CSD_CALL_STATUS_IDLE: - if (!active_call) + if (call->setup) + telephony_update_indicator(maemo_indicators, + "callsetup", + EV_CALLSETUP_INACTIVE); + else telephony_update_indicator(maemo_indicators, "call", EV_CALL_INACTIVE); + g_free(call->number); call->number = NULL; call->originating = FALSE; call->emergency = FALSE; call->on_hold = FALSE; call->conference = FALSE; + call->setup = FALSE; break; case CSD_CALL_STATUS_CREATE: call->originating = TRUE; + call->setup = TRUE; telephony_update_indicator(maemo_indicators, "callsetup", EV_CALLSETUP_OUTGOING); break; case CSD_CALL_STATUS_COMING: call->originating = FALSE; + call->setup = TRUE; break; case CSD_CALL_STATUS_PROCEEDING: break; @@ -583,6 +592,7 @@ static void handle_call_status(DBusMessage *msg, const char *call_path) telephony_update_indicator(maemo_indicators, "callsetup", EV_CALLSETUP_INACTIVE); + call->setup = FALSE; } break; case CSD_CALL_STATUS_MO_RELEASE: |