From f8812ceb23dca22a7619cff71463b9e073630933 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 6 Mar 2012 09:24:54 -0600 Subject: voicecall: Don't set indicators during transitions --- src/voicecall.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') 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; -- cgit v1.2.3