diff --git a/src/MissionManager/VisualMissionItem.cc b/src/MissionManager/VisualMissionItem.cc index a108dde1982d2583a00f5a9fa30d2b33c2457ff9..1f0173f156851138b55adc3df8c39b93655f22bf 100644 --- a/src/MissionManager/VisualMissionItem.cc +++ b/src/MissionManager/VisualMissionItem.cc @@ -38,11 +38,15 @@ VisualMissionItem::VisualMissionItem(Vehicle* vehicle, QObject* parent) , _lastLatTerrainQuery (0) , _lastLonTerrainQuery (0) { - _updateTerrainTimer.setInterval(500); - _updateTerrainTimer.setSingleShot(true); - connect(&_updateTerrainTimer, &QTimer::timeout, this, &VisualMissionItem::_reallyUpdateTerrainAltitude); - connect(this, &VisualMissionItem::coordinateChanged, this, &VisualMissionItem::_updateTerrainAltitude); + // Don't get terrain altitude information for submarines or boards + if (_vehicle->vehicleType() != MAV_TYPE_SUBMARINE && _vehicle->vehicleType() != MAV_TYPE_SURFACE_BOAT) { + _updateTerrainTimer.setInterval(500); + _updateTerrainTimer.setSingleShot(true); + connect(&_updateTerrainTimer, &QTimer::timeout, this, &VisualMissionItem::_reallyUpdateTerrainAltitude); + + connect(this, &VisualMissionItem::coordinateChanged, this, &VisualMissionItem::_updateTerrainAltitude); + } } VisualMissionItem::VisualMissionItem(const VisualMissionItem& other, QObject* parent) @@ -58,7 +62,11 @@ VisualMissionItem::VisualMissionItem(const VisualMissionItem& other, QObject* pa , _distance (0.0) { *this = other; - connect(this, &VisualMissionItem::coordinateChanged, this, &VisualMissionItem::_updateTerrainAltitude); + + // Don't get terrain altitude information for submarines or boards + if (_vehicle->vehicleType() != MAV_TYPE_SUBMARINE && _vehicle->vehicleType() != MAV_TYPE_SURFACE_BOAT) { + connect(this, &VisualMissionItem::coordinateChanged, this, &VisualMissionItem::_updateTerrainAltitude); + } } const VisualMissionItem& VisualMissionItem::operator=(const VisualMissionItem& other)