Browse Source

PositionManager: clear values on changing source

This prevents getting stuck with old values latched in the UI.
Which would happen if the new position source didn't get an update.
QGC4.4
James Mare 2 years ago committed by Beat Küng
parent
commit
6a62796e0b
  1. 11
      src/PositionManager/PositionManager.cpp

11
src/PositionManager/PositionManager.cpp

@ -153,6 +153,17 @@ void QGCPositionManager::setPositionSource(QGCPositionManager::QGCPositionSource @@ -153,6 +153,17 @@ void QGCPositionManager::setPositionSource(QGCPositionManager::QGCPositionSource
if (_currentSource != nullptr) {
_currentSource->stopUpdates();
disconnect(_currentSource);
// Reset all values so we dont get stuck on old values
_geoPositionInfo = QGeoPositionInfo();
_gcsPosition = QGeoCoordinate();
_gcsHeading = qQNaN();
_gcsPositionHorizontalAccuracy = std::numeric_limits<qreal>::infinity();
emit gcsPositionChanged(_gcsPosition);
emit gcsHeadingChanged(_gcsHeading);
emit positionInfoUpdated(_geoPositionInfo);
emit gcsPositionHorizontalAccuracyChanged();
}
if (qgcApp()->runningUnitTests()) {

Loading…
Cancel
Save