Commit 7cc48870 authored by Willian Galvani's avatar Willian Galvani

PositionManager: fix bad cleaning of pointers

parent 671e445d
...@@ -50,8 +50,19 @@ void QGCPositionManager::setToolbox(QGCToolbox *toolbox) ...@@ -50,8 +50,19 @@ void QGCPositionManager::setToolbox(QGCToolbox *toolbox)
void QGCPositionManager::setNmeaSourceDevice(QIODevice* device) void QGCPositionManager::setNmeaSourceDevice(QIODevice* device)
{ {
// stop and release _nmeaSource
if (_nmeaSource) { if (_nmeaSource) {
_nmeaSource->stopUpdates();
disconnect(_nmeaSource);
// if _currentSource is pointing there, point to null
if (_currentSource == _nmeaSource){
_currentSource = nullptr;
}
delete _nmeaSource; delete _nmeaSource;
_nmeaSource = nullptr;
} }
_nmeaSource = new QNmeaPositionInfoSource(QNmeaPositionInfoSource::RealTimeMode, this); _nmeaSource = new QNmeaPositionInfoSource(QNmeaPositionInfoSource::RealTimeMode, this);
_nmeaSource->setDevice(device); _nmeaSource->setDevice(device);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment