diff options
author | ExMix <rahuba.youri@mapswithme.com> | 2014-11-24 16:58:43 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:33:15 +0300 |
commit | 53f18fc448986d796a0bc8db91637b684b305d14 (patch) | |
tree | 6d99c590711a82800c2ddda27deed7b8cf647864 /map/location_state.cpp | |
parent | aee5873c0bf09adb83167d472dbcc12629ce8305 (diff) |
[core] bugfix. Correct stop location when current mode is PendingPosition
Diffstat (limited to 'map/location_state.cpp')
-rw-r--r-- | map/location_state.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/map/location_state.cpp b/map/location_state.cpp index 65c4acc714..133e820d57 100644 --- a/map/location_state.cpp +++ b/map/location_state.cpp @@ -390,7 +390,10 @@ void State::OnLocationUpdate(location::GpsInfo const & info) setIsVisible(true); if (GetMode() == PendingPosition) + { SetModeInfo(ChangeMode(m_modeInfo, m_afterPendingMode)); + m_afterPendingMode = Follow; + } else AnimateFollow(); @@ -731,11 +734,17 @@ void State::StopCompassFollowing() void State::StopLocationFollow() { - if (GetMode() > NotFollow) + Mode currentMode = GetMode(); + if (currentMode > NotFollow) { StopAllAnimations(); SetModeInfo(ChangeMode(m_modeInfo, NotFollow)); } + else if (currentMode == PendingPosition) + { + StopAllAnimations(); + m_afterPendingMode = NotFollow; + } } void State::SetFixedZoom() |