Browse Source

PositionManager: fix bad cleaning of pointers

QGC4.4
Willian Galvani 7 years ago
parent
commit
7cc48870ba
  1. 11
      src/PositionManager/PositionManager.cpp

11
src/PositionManager/PositionManager.cpp

@ -50,8 +50,19 @@ void QGCPositionManager::setToolbox(QGCToolbox *toolbox) @@ -50,8 +50,19 @@ void QGCPositionManager::setToolbox(QGCToolbox *toolbox)
void QGCPositionManager::setNmeaSourceDevice(QIODevice* device)
{
// stop and release _nmeaSource
if (_nmeaSource) {
_nmeaSource->stopUpdates();
disconnect(_nmeaSource);
// if _currentSource is pointing there, point to null
if (_currentSource == _nmeaSource){
_currentSource = nullptr;
}
delete _nmeaSource;
_nmeaSource = nullptr;
}
_nmeaSource = new QNmeaPositionInfoSource(QNmeaPositionInfoSource::RealTimeMode, this);
_nmeaSource->setDevice(device);

Loading…
Cancel
Save