]> git.mxchange.org Git - flightgear.git/commitdiff
Bugfix - don't exclude seaports or heliports when looking up by ICAO.
authorjmt <jmt>
Wed, 28 Oct 2009 08:27:19 +0000 (08:27 +0000)
committerTim Moore <timoore@redhat.com>
Wed, 28 Oct 2009 22:22:32 +0000 (23:22 +0100)
src/Airports/simple.cxx
src/Airports/simple.hxx

index bf6620f945fd9cf42d1abc2b8f170e8ea6d171ca..1b7d1c9d0b5fb517aaa8cf02642a1f4ea1ef48c8 100644 (file)
@@ -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);
index d226d40f4b8ca1922eea99b5bb6a6d0c785b09f3..521c48c9abedb77afbe9435b675b6b04a17a966d 100644 (file)
@@ -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: