// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include "metarproperties.hxx"
#include "fgmetar.hxx"
#include "environment.hxx"
namespace Environment {
+static vector<string> coverage_string;
+
MetarProperties::MetarProperties( SGPropertyNode_ptr rootNode ) :
_rootNode(rootNode),
_metarValidNode( rootNode->getNode( "valid", true ) ),
_snow(0.0),
_snow_cover(false)
{
+ // Hack to avoid static initialization order problems on OSX
+ if( coverage_string.size() == 0 ) {
+ coverage_string.push_back(SGCloudLayer::SG_CLOUD_CLEAR_STRING);
+ coverage_string.push_back(SGCloudLayer::SG_CLOUD_FEW_STRING);
+ coverage_string.push_back(SGCloudLayer::SG_CLOUD_SCATTERED_STRING);
+ coverage_string.push_back(SGCloudLayer::SG_CLOUD_BROKEN_STRING);
+ coverage_string.push_back(SGCloudLayer::SG_CLOUD_OVERCAST_STRING);
+ }
// don't tie metar-valid, so listeners get triggered
_metarValidNode->setBoolValue( false );
_tiedProperties.setRoot( _rootNode );
{
}
-static const string coverage_string[] = {
- SGCloudLayer::SG_CLOUD_CLEAR_STRING,
- SGCloudLayer::SG_CLOUD_FEW_STRING,
- SGCloudLayer::SG_CLOUD_SCATTERED_STRING,
- SGCloudLayer::SG_CLOUD_BROKEN_STRING,
- SGCloudLayer::SG_CLOUD_OVERCAST_STRING,
-};
static const double thickness_value[] = { 0, 65, 600, 750, 1000 };