Fix static initialization order trouble on OSX
This commit is contained in:
parent
f75656ea59
commit
31a807563b
1 changed files with 10 additions and 7 deletions
|
@ -35,6 +35,8 @@ using std::string;
|
||||||
|
|
||||||
namespace Environment {
|
namespace Environment {
|
||||||
|
|
||||||
|
static vector<string> coverage_string;
|
||||||
|
|
||||||
MetarProperties::MetarProperties( SGPropertyNode_ptr rootNode ) :
|
MetarProperties::MetarProperties( SGPropertyNode_ptr rootNode ) :
|
||||||
_rootNode(rootNode),
|
_rootNode(rootNode),
|
||||||
_metarValidNode( rootNode->getNode( "valid", true ) ),
|
_metarValidNode( rootNode->getNode( "valid", true ) ),
|
||||||
|
@ -62,6 +64,14 @@ MetarProperties::MetarProperties( SGPropertyNode_ptr rootNode ) :
|
||||||
_snow(0.0),
|
_snow(0.0),
|
||||||
_snow_cover(false)
|
_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
|
// don't tie metar-valid, so listeners get triggered
|
||||||
_metarValidNode->setBoolValue( false );
|
_metarValidNode->setBoolValue( false );
|
||||||
_tiedProperties.setRoot( _rootNode );
|
_tiedProperties.setRoot( _rootNode );
|
||||||
|
@ -96,13 +106,6 @@ MetarProperties::~MetarProperties()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
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 };
|
static const double thickness_value[] = { 0, 65, 600, 750, 1000 };
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue