diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-11-26 22:30:27 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-11-26 22:35:48 +0100 |
commit | 4a8273a6fc2e741e811cf5dabc9a3c240306cf7f (patch) | |
tree | 2148abc88f8543eecdc0b97b2dd92594836af9b2 /src/corelib/tools/qdatetime.cpp | |
parent | 036c5db468164297d213764c59a4b59daa76d90a (diff) | |
parent | 1c2be58fecaff1de5f2849192eb712984ebd59bd (diff) |
Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).
Conflicts:
configure
qmake/generators/win32/msvc_nmake.cpp
src/3rdparty/angle/src/libEGL/Surface.cpp
src/angle/src/common/common.pri
src/corelib/global/qglobal.h
src/corelib/io/qstandardpaths.cpp
src/plugins/platforms/qnx/qqnxintegration.cpp
src/plugins/platforms/qnx/qqnxscreeneventhandler.h
src/plugins/platforms/xcb/qglxintegration.h
src/widgets/kernel/win.pri
tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
tools/configure/configureapp.cpp
Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
Diffstat (limited to 'src/corelib/tools/qdatetime.cpp')
-rw-r--r-- | src/corelib/tools/qdatetime.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 6620c55a0f..a95c7f53f7 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -2685,10 +2685,10 @@ void QDateTimePrivate::getDateTime(QDate *date, QTime *time) const { msecsToTime(m_msecs, date, time); - if (isNullDate()) + if (date && isNullDate()) *date = QDate(); - if (isNullTime()) + if (time && isNullTime()) *time = QTime(); } @@ -2768,9 +2768,6 @@ void QDateTimePrivate::refreshDateTime() } // We have a valid date and time and a Qt::LocalTime or Qt::TimeZone that needs calculating - QDate date; - QTime time; - getDateTime(&date, &time); // LocalTime and TimeZone might fall into "missing" DaylightTime transition hour // Calling toEpochMSecs will adjust the returned date/time if it does QDate testDate; @@ -2784,7 +2781,7 @@ void QDateTimePrivate::refreshDateTime() epochMSecs = zoneMSecsToEpochMSecs(m_msecs, m_timeZone, &testDate, &testTime); #endif // QT_BOOTSTRAPPED } - if (testDate == date && testTime == time) { + if (timeToMSecs(testDate, testTime) == m_msecs) { setValidDateTime(); // Cache the offset to use in toMSecsSinceEpoch() m_offsetFromUtc = (m_msecs - epochMSecs) / 1000; @@ -3097,9 +3094,10 @@ bool QDateTime::isValid() const QDate QDateTime::date() const { + if (d->isNullDate()) + return QDate(); QDate dt; - QTime tm; - d->getDateTime(&dt, &tm); + msecsToTime(d->m_msecs, &dt, 0); return dt; } @@ -3111,9 +3109,10 @@ QDate QDateTime::date() const QTime QDateTime::time() const { - QDate dt; + if (d->isNullTime()) + return QTime(); QTime tm; - d->getDateTime(&dt, &tm); + msecsToTime(d->m_msecs, 0, &tm); return tm; } |