summaryrefslogtreecommitdiffstats
path: root/src/corelib/time/qdatetime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/time/qdatetime.cpp')
-rw-r--r--src/corelib/time/qdatetime.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp
index 05f0f37ee8..8ee01dde31 100644
--- a/src/corelib/time/qdatetime.cpp
+++ b/src/corelib/time/qdatetime.cpp
@@ -3839,23 +3839,17 @@ qint64 QDateTime::toSecsSinceEpoch() const
*/
void QDateTime::setMSecsSinceEpoch(qint64 msecs)
{
- const auto spec = getSpec(d);
auto status = getStatus(d);
+ const auto spec = extractSpec(status);
status &= ~QDateTimePrivate::ValidityMask;
switch (spec) {
case Qt::UTC:
- status = status
- | QDateTimePrivate::ValidDate
- | QDateTimePrivate::ValidTime
- | QDateTimePrivate::ValidDateTime;
+ status |= QDateTimePrivate::ValidWhenMask;
break;
case Qt::OffsetFromUTC:
msecs = msecs + (d->m_offsetFromUtc * 1000);
- status = status
- | QDateTimePrivate::ValidDate
- | QDateTimePrivate::ValidTime
- | QDateTimePrivate::ValidDateTime;
+ status |= QDateTimePrivate::ValidWhenMask;
break;
case Qt::TimeZone:
Q_ASSERT(!d.isShort());
@@ -3876,10 +3870,7 @@ void QDateTime::setMSecsSinceEpoch(qint64 msecs)
d->m_offsetFromUtc = d->m_timeZone.d->standardTimeOffset(msecs);
}
msecs = msecs + (d->m_offsetFromUtc * 1000);
- status = status
- | QDateTimePrivate::ValidDate
- | QDateTimePrivate::ValidTime
- | QDateTimePrivate::ValidDateTime;
+ status |= QDateTimePrivate::ValidWhenMask;
#endif // timezone
break;
case Qt::LocalTime: {