Fix QIcuTimeZonePrivate::data() before the first transition
Provide valid data, since ICU can, by the means we used before the transition API was introduced. Task-number: QTBUG-99747 Pick-to: 6.3 6.2 Change-Id: I4d4a1201db2255b98901dacb83169ae4ae25ef05 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
d9602efe88
commit
934b528715
@ -429,12 +429,14 @@ QTimeZonePrivate::Data QIcuTimeZonePrivate::data(qint64 forMSecsSinceEpoch) cons
|
|||||||
#if U_ICU_VERSION_MAJOR_NUM == 50
|
#if U_ICU_VERSION_MAJOR_NUM == 50
|
||||||
data = ucalTimeZoneTransition(m_ucal, UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE,
|
data = ucalTimeZoneTransition(m_ucal, UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE,
|
||||||
forMSecsSinceEpoch);
|
forMSecsSinceEpoch);
|
||||||
#else
|
if (data.atMSecsSinceEpoch == invalidMSecs()) // before first transition
|
||||||
ucalOffsetsAtTime(m_ucal, forMSecsSinceEpoch, &data.standardTimeOffset,
|
#endif // U_ICU_VERSION_MAJOR_NUM >= 50
|
||||||
&data.daylightTimeOffset);
|
{
|
||||||
data.offsetFromUtc = data.standardTimeOffset + data.daylightTimeOffset;
|
ucalOffsetsAtTime(m_ucal, forMSecsSinceEpoch, &data.standardTimeOffset,
|
||||||
data.abbreviation = abbreviation(forMSecsSinceEpoch);
|
&data.daylightTimeOffset);
|
||||||
#endif // U_ICU_VERSION_MAJOR_NUM == 50
|
data.offsetFromUtc = data.standardTimeOffset + data.daylightTimeOffset;
|
||||||
|
data.abbreviation = abbreviation(forMSecsSinceEpoch);
|
||||||
|
}
|
||||||
data.atMSecsSinceEpoch = forMSecsSinceEpoch;
|
data.atMSecsSinceEpoch = forMSecsSinceEpoch;
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user