]> git.mxchange.org Git - flightgear.git/blobdiff - src/Cockpit/dme.cxx
Removed FGEnvironmentMgr as a special case in globals, initialization,
[flightgear.git] / src / Cockpit / dme.cxx
index bc00b0f51b4e66111f783ff7bfa3b02ea86119c7..aa07a7559ac15540e47bf6f7fe3f7cbd66435f21 100644 (file)
@@ -212,37 +212,39 @@ void FGDME::search()
             freq = navcom2_freq->getDoubleValue();
             need_update = true;
         }
+    } else if ( switch_pos == 2 && has_power() ) {
+        // no-op
     } else {
         freq = 0;
         inrange = false;
     }
 
-    FGILS ils;
-    FGNav nav;
+    FGILS *ils;
+    FGNav *nav;
 
-    if ( current_ilslist->query( lon, lat, elev, freq, &ils ) ) {
-        if (ils.get_has_dme()) {
+    if ( (ils = current_ilslist->findByFreq( freq, lon, lat, elev )) != NULL ) {
+        if ( ils->get_has_dme() ) {
             valid = true;
-            lon = ils.get_loclon();
-            lat = ils.get_loclat();
-            elev = ils.get_gselev();
+            lon = ils->get_loclon();
+            lat = ils->get_loclat();
+            elev = ils->get_gselev();
             range = FG_ILS_DEFAULT_RANGE;
             effective_range = kludgeRange(elev, elev, range);
-            x = ils.get_dme_x();
-            y = ils.get_dme_y();
-            z = ils.get_dme_z();
+            x = ils->get_dme_x();
+            y = ils->get_dme_y();
+            z = ils->get_dme_z();
         }
-    } else if ( current_navlist->query( lon, lat, elev, freq, &nav ) ) {
-        if (nav.get_has_dme()) {
+    } else if ( (nav = current_navlist->findByFreq(freq, lon, lat, elev)) != NULL ) {
+        if (nav->get_has_dme()) {
             valid = true;
-            lon = nav.get_lon();
-            lat = nav.get_lat();
-            elev = nav.get_elev();
-            range = nav.get_range();
+            lon = nav->get_lon();
+            lat = nav->get_lat();
+            elev = nav->get_elev();
+            range = nav->get_range();
             effective_range = kludgeRange(elev, elev, range);
-            x = nav.get_x();
-            y = nav.get_y();
-            z = nav.get_z();
+            x = nav->get_x();
+            y = nav->get_y();
+            z = nav->get_z();
         }
     } else {
         valid = false;