]> git.mxchange.org Git - flightgear.git/blobdiff - src/Environment/environment_ctrl.cxx
fix a pointer reference.
[flightgear.git] / src / Environment / environment_ctrl.cxx
index 366a794c9ae35255b61f17f9fcd14ed87c20bbc5..5b9cfcfb99744b5e0a72843dbb252f57ab1518d8 100644 (file)
@@ -264,8 +264,7 @@ FGInterpolateEnvironmentCtrl::bucket::lessThan(bucket *a, bucket *b)
 ////////////////////////////////////////////////////////////////////////
 
 FGMetarCtrl::FGMetarCtrl( SGSubsystem * environmentCtrl )
-       : _environmentCtrl(environmentCtrl),
-       station_elevation_ft(0.0),
+       :
        metar_valid(false),
        setup_winds_aloft(true),
        wind_interpolation_required(true),
@@ -277,7 +276,8 @@ FGMetarCtrl::FGMetarCtrl( SGSubsystem * environmentCtrl )
        MaxCloudAltitudeChangeFtSec( 20.0 ),
        MaxCloudThicknessChangeFtSec( 50.0 ),
        MaxCloudInterpolationHeightFt( 5000.0 ),
-       MaxCloudInterpolationDeltaFt( 4000.0 )
+       MaxCloudInterpolationDeltaFt( 4000.0 ),
+       _environmentCtrl(environmentCtrl)
 {
        windModulator = new FGBasicWindModulator();
 
@@ -666,9 +666,11 @@ FGMetarCtrl::update(double dt)
                        }
                }
        }
-
-       set_temp_at_altitude(temperature_n->getDoubleValue(), station_elevation_ft);
-       set_dewpoint_at_altitude(dewpoint_n->getDoubleValue(), station_elevation_ft);
+       {
+               double station_elevation_ft = station_elevation_n->getDoubleValue();
+               set_temp_at_altitude(temperature_n->getDoubleValue(), station_elevation_ft);
+               set_dewpoint_at_altitude(dewpoint_n->getDoubleValue(), station_elevation_ft);
+       }
        //TODO: check if temperature/dewpoint have changed. This requires reinit.
 
        // Force an update of the 3D clouds