Browse Source

Merge pull request #7790 from DonLakeFlyer/TerrainFIxes

Don't query terrain if no location
QGC4.4
Don Gagne 6 years ago committed by GitHub
parent
commit
cb29403166
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      src/MissionManager/VisualMissionItem.cc

10
src/MissionManager/VisualMissionItem.cc

@ -177,16 +177,22 @@ void VisualMissionItem::_updateTerrainAltitude(void)
// This is an intermediate state we don't react to // This is an intermediate state we don't react to
return; return;
} }
if (!_flyView && coordinate().isValid()) { if (!_flyView && specifiesCoordinate() && coordinate().isValid()) {
if (specifiesCoordinate()) {
if (coordinate().isValid()) {
// We use a timer so that any additional requests before the timer fires result in only a single request // We use a timer so that any additional requests before the timer fires result in only a single request
_updateTerrainTimer.start(); _updateTerrainTimer.start();
} }
} else {
_terrainAltitude = qQNaN();
}
}
} }
void VisualMissionItem::_reallyUpdateTerrainAltitude(void) void VisualMissionItem::_reallyUpdateTerrainAltitude(void)
{ {
QGeoCoordinate coord = coordinate(); QGeoCoordinate coord = coordinate();
if (coord.isValid() && (qIsNaN(_terrainAltitude) || !qFuzzyCompare(_lastLatTerrainQuery, coord.latitude()) || qFuzzyCompare(_lastLonTerrainQuery, coord.longitude()))) { if (specifiesCoordinate() && coord.isValid() && (qIsNaN(_terrainAltitude) || !qFuzzyCompare(_lastLatTerrainQuery, coord.latitude()) || qFuzzyCompare(_lastLonTerrainQuery, coord.longitude()))) {
_lastLatTerrainQuery = coord.latitude(); _lastLatTerrainQuery = coord.latitude();
_lastLonTerrainQuery = coord.longitude(); _lastLonTerrainQuery = coord.longitude();
TerrainAtCoordinateQuery* terrain = new TerrainAtCoordinateQuery(this); TerrainAtCoordinateQuery* terrain = new TerrainAtCoordinateQuery(this);

Loading…
Cancel
Save