From: jmt Date: Wed, 28 Oct 2009 08:27:19 +0000 (+0000) Subject: Bugfix - don't exclude seaports or heliports when looking up by ICAO. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=6593d6c06569fff3b4a02372aa4342c83d32f5ae;p=flightgear.git Bugfix - don't exclude seaports or heliports when looking up by ICAO. --- diff --git a/src/Airports/simple.cxx b/src/Airports/simple.cxx index bf6620f94..1b7d1c9d0 100644 --- a/src/Airports/simple.cxx +++ b/src/Airports/simple.cxx @@ -290,7 +290,7 @@ bool FGAirport::HardSurfaceFilter::passAirport(FGAirport* aApt) const FGAirport* FGAirport::findByIdent(const std::string& aIdent) { FGPositionedRef r; - AirportFilter filter; + PortsFilter filter; r = FGPositioned::findNextWithPartialId(r, aIdent, &filter); if (!r) { return NULL; // we don't warn here, let the caller do that @@ -301,7 +301,7 @@ FGAirport* FGAirport::findByIdent(const std::string& aIdent) FGAirport* FGAirport::getByIdent(const std::string& aIdent) { FGPositionedRef r; - AirportFilter filter; + PortsFilter filter; r = FGPositioned::findNextWithPartialId(r, aIdent, &filter); if (!r) { throw sg_range_exception("No such airport with ident: " + aIdent); diff --git a/src/Airports/simple.hxx b/src/Airports/simple.hxx index d226d40f4..521c48c9a 100644 --- a/src/Airports/simple.hxx +++ b/src/Airports/simple.hxx @@ -121,6 +121,17 @@ public: } }; + /** + * Filter which passes heliports and seaports in addition to airports + */ + class PortsFilter : public AirportFilter + { + public: + virtual Type maxType() const { + return SEAPORT; + } + }; + class HardSurfaceFilter : public AirportFilter { public: