diff --git a/src/PositionManager/PositionManager.cpp b/src/PositionManager/PositionManager.cpp index 13fda8d6b88c69a69d0e379e839241d35f77acf7..f7798ec9f7268018b14169e7be523c24850e1cd5 100644 --- a/src/PositionManager/PositionManager.cpp +++ b/src/PositionManager/PositionManager.cpp @@ -30,12 +30,11 @@ QGCPositionManager::QGCPositionManager(QGCApplication* app) : _defaultSource = QGeoPositionInfoSource::createDefaultSource(this); _simulatedSource = new SimulatedPosition(); - // if the default source is not availble for whatever reason - // fall back to a simulated source + // Enable this to get a simulated target on desktop - if(_defaultSource == nullptr) { - _defaultSource = _simulatedSource; - } + // if (_defaultSource == nullptr) { + // _defaultSource = _simulatedSource; + // } setPositionSource(QGCPositionSource::GPS); } @@ -61,7 +60,7 @@ int QGCPositionManager::updateInterval() const void QGCPositionManager::setPositionSource(QGCPositionManager::QGCPositionSource source) { - if(_currentSource != nullptr) { + if (_currentSource != nullptr) { _currentSource->stopUpdates(); disconnect(_currentSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdated(QGeoPositionInfo))); } @@ -78,11 +77,13 @@ void QGCPositionManager::setPositionSource(QGCPositionManager::QGCPositionSource break; } - _updateInterval = _currentSource->minimumUpdateInterval(); - _currentSource->setPreferredPositioningMethods(QGeoPositionInfoSource::SatellitePositioningMethods); - _currentSource->setUpdateInterval(_updateInterval); - _currentSource->startUpdates(); + if (_currentSource != nullptr) { + _updateInterval = _currentSource->minimumUpdateInterval(); + _currentSource->setPreferredPositioningMethods(QGeoPositionInfoSource::SatellitePositioningMethods); + _currentSource->setUpdateInterval(_updateInterval); + _currentSource->startUpdates(); - connect(_currentSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdated(QGeoPositionInfo))); + connect(_currentSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdated(QGeoPositionInfo))); + } }