diff --git a/src/corelib/time/qtimezoneprivate_p.h b/src/corelib/time/qtimezoneprivate_p.h index b37d9995e3..484bbe56eb 100644 --- a/src/corelib/time/qtimezoneprivate_p.h +++ b/src/corelib/time/qtimezoneprivate_p.h @@ -348,7 +348,7 @@ public: QList availableTimeZoneIds(QLocale::Territory territory) const override; private: - void init(const QByteArray &ianaId); + static QByteArray staticSystemTimeZoneId(); QList getPosixTransitions(qint64 msNear) const; Data dataForTzTransition(QTzTransitionTime tran) const; diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp index a9d6d06125..b23ccfb3b2 100644 --- a/src/corelib/time/qtimezoneprivate_tz.cpp +++ b/src/corelib/time/qtimezoneprivate_tz.cpp @@ -719,14 +719,8 @@ static QList calculatePosixTransitions(const QByteArray // Create the system default time zone QTzTimeZonePrivate::QTzTimeZonePrivate() + : QTzTimeZonePrivate(staticSystemTimeZoneId()) { - init(systemTimeZoneId()); -} - -// Create a named time zone -QTzTimeZonePrivate::QTzTimeZonePrivate(const QByteArray &ianaId) -{ - init(ianaId); } QTzTimeZonePrivate::~QTzTimeZonePrivate() @@ -953,7 +947,8 @@ QTzTimeZoneCacheEntry QTzTimeZoneCache::fetchEntry(const QByteArray &ianaId) return ret; } -void QTzTimeZonePrivate::init(const QByteArray &ianaId) +// Create a named time zone +QTzTimeZonePrivate::QTzTimeZonePrivate(const QByteArray &ianaId) { static QTzTimeZoneCache tzCache; auto entry = tzCache.fetchEntry(ianaId); @@ -1360,6 +1355,11 @@ private: } QByteArray QTzTimeZonePrivate::systemTimeZoneId() const +{ + return staticSystemTimeZoneId(); +} + +QByteArray QTzTimeZonePrivate::staticSystemTimeZoneId() { // Check TZ env var first, if not populated try find it QByteArray ianaId = qgetenv("TZ");