summaryrefslogtreecommitdiffstats
path: root/src/voicecall.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2012-03-06 09:24:54 -0600
committerDenis Kenzior <denkenz@gmail.com>2012-03-07 06:17:06 -0600
commitf8812ceb23dca22a7619cff71463b9e073630933 (patch)
tree66afa9a193d6142a28c17f694a3823121892f8a8 /src/voicecall.c
parent033e518cd418c0a51d523fce4a0595909722fb18 (diff)
downloadofono-f8812ceb23dca22a7619cff71463b9e073630933.tar.bz2
voicecall: Don't set indicators during transitions
Diffstat (limited to 'src/voicecall.c')
-rw-r--r--src/voicecall.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/voicecall.c b/src/voicecall.c
index e224d3a9..c128227a 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -825,6 +825,19 @@ static void notify_emulator_call_status(struct ofono_voicecall *vc)
}
}
+ /*
+ * Perform some basic sanity checks for transitionary states;
+ * if a transitionary state is detected, then ignore it. The call
+ * indicators will be updated properly in the follow-on calls to
+ * this function once the final state has been reached
+ */
+
+ if (incoming && (held || call))
+ return;
+
+ if (waiting && (held == FALSE && call == FALSE))
+ return;
+
data.status = call || held ? OFONO_EMULATOR_CALL_ACTIVE :
OFONO_EMULATOR_CALL_INACTIVE;