T73 Fixed non-threadsafe static initialization.

This commit is contained in:
Mathew Sutcliffe
2017-04-21 02:00:42 +01:00
parent 8bf9296d51
commit 895190c4d0

View File

@@ -137,18 +137,17 @@ namespace BlackMisc
//! All units //! All units
static const QList<CLengthUnit> &allUnits() static const QList<CLengthUnit> &allUnits()
{ {
static QList<CLengthUnit> u; static const QList<CLengthUnit> u
if (u.isEmpty())
{ {
u.append(CLengthUnit::nullUnit()); CLengthUnit::nullUnit(),
u.append(CLengthUnit::cm()); CLengthUnit::cm(),
u.append(CLengthUnit::ft()); CLengthUnit::ft(),
u.append(CLengthUnit::km()); CLengthUnit::km(),
u.append(CLengthUnit::m()); CLengthUnit::m(),
u.append(CLengthUnit::mi()); CLengthUnit::mi(),
u.append(CLengthUnit::SM()); CLengthUnit::SM(),
u.append(CLengthUnit::NM()); CLengthUnit::NM()
} };
return u; return u;
} }
@@ -242,15 +241,14 @@ namespace BlackMisc
//! All units //! All units
static const QList<CAngleUnit> &allUnits() static const QList<CAngleUnit> &allUnits()
{ {
static QList<CAngleUnit> u; static const QList<CAngleUnit> u
if (u.isEmpty())
{ {
u.append(CAngleUnit::nullUnit()); CAngleUnit::nullUnit(),
u.append(CAngleUnit::deg()); CAngleUnit::deg(),
u.append(CAngleUnit::rad()); CAngleUnit::rad(),
u.append(CAngleUnit::sexagesimalDeg()); CAngleUnit::sexagesimalDeg(),
u.append(CAngleUnit::sexagesimalDegMin()); CAngleUnit::sexagesimalDegMin()
} };
return u; return u;
} }
@@ -335,15 +333,14 @@ namespace BlackMisc
//! All units //! All units
static const QList<CFrequencyUnit> &allUnits() static const QList<CFrequencyUnit> &allUnits()
{ {
static QList<CFrequencyUnit> u; static const QList<CFrequencyUnit> u
if (u.isEmpty())
{ {
u.append(CFrequencyUnit::nullUnit()); CFrequencyUnit::nullUnit(),
u.append(CFrequencyUnit::GHz()); CFrequencyUnit::GHz(),
u.append(CFrequencyUnit::Hz()); CFrequencyUnit::Hz(),
u.append(CFrequencyUnit::kHz()); CFrequencyUnit::kHz(),
u.append(CFrequencyUnit::MHz()); CFrequencyUnit::MHz()
} };
return u; return u;
} }
@@ -436,16 +433,15 @@ namespace BlackMisc
//! All units //! All units
static const QList<CMassUnit> &allUnits() static const QList<CMassUnit> &allUnits()
{ {
static QList<CMassUnit> u; static const QList<CMassUnit> u
if (u.isEmpty())
{ {
u.append(CMassUnit::nullUnit()); CMassUnit::nullUnit(),
u.append(CMassUnit::g()); CMassUnit::g(),
u.append(CMassUnit::kg()); CMassUnit::kg(),
u.append(CMassUnit::lb()); CMassUnit::lb(),
u.append(CMassUnit::tonne()); CMassUnit::tonne(),
u.append(CMassUnit::shortTon()); CMassUnit::shortTon()
} };
return u; return u;
} }
@@ -554,17 +550,16 @@ namespace BlackMisc
//! All units //! All units
static const QList<CPressureUnit> &allUnits() static const QList<CPressureUnit> &allUnits()
{ {
static QList<CPressureUnit> u; static const QList<CPressureUnit> u
if (u.isEmpty())
{ {
u.append(CPressureUnit::nullUnit()); CPressureUnit::nullUnit(),
u.append(CPressureUnit::bar()); CPressureUnit::bar(),
u.append(CPressureUnit::hPa()); CPressureUnit::hPa(),
u.append(CPressureUnit::inHg()); CPressureUnit::inHg(),
u.append(CPressureUnit::mmHg()); CPressureUnit::mmHg(),
u.append(CPressureUnit::mbar()); CPressureUnit::mbar(),
u.append(CPressureUnit::psi()); CPressureUnit::psi()
} };
return u; return u;
} }
@@ -651,14 +646,13 @@ namespace BlackMisc
//! All units //! All units
static const QList<CTemperatureUnit> &allUnits() static const QList<CTemperatureUnit> &allUnits()
{ {
static QList<CTemperatureUnit> u; static const QList<CTemperatureUnit> u
if (u.isEmpty())
{ {
u.append(CTemperatureUnit::nullUnit()); CTemperatureUnit::nullUnit(),
u.append(CTemperatureUnit::C()); CTemperatureUnit::C(),
u.append(CTemperatureUnit::F()); CTemperatureUnit::F(),
u.append(CTemperatureUnit::K()); CTemperatureUnit::K()
} };
return u; return u;
} }
@@ -760,17 +754,16 @@ namespace BlackMisc
//! All units //! All units
static const QList<CSpeedUnit> &allUnits() static const QList<CSpeedUnit> &allUnits()
{ {
static QList<CSpeedUnit> u; static const QList<CSpeedUnit> u
if (u.isEmpty())
{ {
u.append(CSpeedUnit::nullUnit()); CSpeedUnit::nullUnit(),
u.append(CSpeedUnit::ft_min()); CSpeedUnit::ft_min(),
u.append(CSpeedUnit::ft_s()); CSpeedUnit::ft_s(),
u.append(CSpeedUnit::km_h()); CSpeedUnit::km_h(),
u.append(CSpeedUnit::kts()); CSpeedUnit::kts(),
u.append(CSpeedUnit::m_s()); CSpeedUnit::m_s(),
u.append(CSpeedUnit::NM_h()); CSpeedUnit::NM_h()
} };
return u; return u;
} }
@@ -895,18 +888,17 @@ namespace BlackMisc
//! All units //! All units
static const QList<CTimeUnit> &allUnits() static const QList<CTimeUnit> &allUnits()
{ {
static QList<CTimeUnit> u; static const QList<CTimeUnit> u
if (u.isEmpty())
{ {
u.append(CTimeUnit::nullUnit()); CTimeUnit::nullUnit(),
u.append(CTimeUnit::d()); CTimeUnit::d(),
u.append(CTimeUnit::h()); CTimeUnit::h(),
u.append(CTimeUnit::hms()); CTimeUnit::hms(),
u.append(CTimeUnit::hrmin()); CTimeUnit::hrmin(),
u.append(CTimeUnit::min()); CTimeUnit::min(),
u.append(CTimeUnit::ms()); CTimeUnit::ms(),
u.append(CTimeUnit::s()); CTimeUnit::s()
} };
return u; return u;
} }
@@ -977,13 +969,12 @@ namespace BlackMisc
//! All units //! All units
static const QList<CAccelerationUnit> &allUnits() static const QList<CAccelerationUnit> &allUnits()
{ {
static QList<CAccelerationUnit> u; static const QList<CAccelerationUnit> u
if (u.isEmpty())
{ {
u.append(CAccelerationUnit::nullUnit()); CAccelerationUnit::nullUnit(),
u.append(CAccelerationUnit::ft_s2()); CAccelerationUnit::ft_s2(),
u.append(CAccelerationUnit::m_s2()); CAccelerationUnit::m_s2()
} };
return u; return u;
} }