1
0
Fork 0

Fix bug 259 - don't override existing airport/runway in initPos

This commit is contained in:
James Turner 2011-01-19 23:58:00 +00:00
parent e86cecf470
commit 54ef43878f

View file

@ -924,11 +924,20 @@ void FGRouteMgr::initAtPosition()
}
// on the ground
SGGeod pos = SGGeod::fromDegFt(lon->getDoubleValue(), lat->getDoubleValue(), alt->getDoubleValue());
_departure = FGAirport::findClosest(pos, 20.0);
SGGeod pos = SGGeod::fromDegFt(lon->getDoubleValue(),
lat->getDoubleValue(), alt->getDoubleValue());
if (!_departure) {
SG_LOG(SG_AUTOPILOT, SG_INFO, "initAtPosition: couldn't find an airport within 20nm");
departure->setStringValue("runway", "");
_departure = FGAirport::findClosest(pos, 20.0);
if (!_departure) {
SG_LOG(SG_AUTOPILOT, SG_INFO, "initAtPosition: couldn't find an airport within 20nm");
departure->setStringValue("runway", "");
return;
}
}
std::string rwy = departure->getStringValue("runway");
if (!rwy.empty()) {
// runway already set, fine
return;
}