From de59f74282e1e5bbb89cb9d11becf5c1af575146 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Mon, 31 Mar 2014 18:36:10 +0200 Subject: [PATCH] Add Qt_DefaultCompiledVersion to the QDataStream::Version enum. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows code to, amongst other things, use the latest compiled QDataStream version in static const variables, where previously the only alternative was to hard-code the version (and update it with every Qt version bump) or use QDataStream().version(), which is not allowed because it increases Qt's startup time. Change-Id: If1f29fc9cd83c9d7fe619a4ca197152aa9c77a04 Reviewed-by: Jędrzej Nowacki --- src/corelib/io/qdatastream.cpp | 13 +++++-------- src/corelib/io/qdatastream.h | 5 +++-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp index a4c4dbf5ff..9944cc2e89 100644 --- a/src/corelib/io/qdatastream.cpp +++ b/src/corelib/io/qdatastream.cpp @@ -250,10 +250,6 @@ QT_BEGIN_NAMESPACE if (q_status != Ok) \ return retVal; -enum { - DefaultStreamVersion = QDataStream::Qt_5_4 -}; - /*! Constructs a data stream that has no I/O device. @@ -265,7 +261,7 @@ QDataStream::QDataStream() dev = 0; owndev = false; byteorder = BigEndian; - ver = DefaultStreamVersion; + ver = Qt_DefaultCompiledVersion; noswap = QSysInfo::ByteOrder == QSysInfo::BigEndian; q_status = Ok; } @@ -287,7 +283,7 @@ QDataStream::QDataStream(QIODevice *d) dev = d; // set device owndev = false; byteorder = BigEndian; // default byte order - ver = DefaultStreamVersion; + ver = Qt_DefaultCompiledVersion; noswap = QSysInfo::ByteOrder == QSysInfo::BigEndian; q_status = Ok; } @@ -315,7 +311,7 @@ QDataStream::QDataStream(QByteArray *a, QIODevice::OpenMode flags) dev = buf; owndev = true; byteorder = BigEndian; - ver = DefaultStreamVersion; + ver = Qt_DefaultCompiledVersion; noswap = QSysInfo::ByteOrder == QSysInfo::BigEndian; q_status = Ok; } @@ -339,7 +335,7 @@ QDataStream::QDataStream(const QByteArray &a) dev = buf; owndev = true; byteorder = BigEndian; - ver = DefaultStreamVersion; + ver = Qt_DefaultCompiledVersion; noswap = QSysInfo::ByteOrder == QSysInfo::BigEndian; q_status = Ok; } @@ -543,6 +539,7 @@ void QDataStream::setByteOrder(ByteOrder bo) \value Qt_5_2 Version 15 (Qt 5.2) \value Qt_5_3 Same as Qt_5_2 \value Qt_5_4 Same as Qt_5_2 + \omitvalue Qt_DefaultCompiledVersion \sa setVersion(), version() */ diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h index 3bf90b39a3..808fbe73f6 100644 --- a/src/corelib/io/qdatastream.h +++ b/src/corelib/io/qdatastream.h @@ -89,10 +89,11 @@ public: Qt_5_1 = 14, Qt_5_2 = 15, Qt_5_3 = Qt_5_2, - Qt_5_4 = 16 + Qt_5_4 = 16, #if QT_VERSION >= 0x050500 -#error Add the datastream version for this Qt version +#error Add the datastream version for this Qt version and update Qt_DefaultCompiledVersion #endif + Qt_DefaultCompiledVersion = Qt_5_4 }; enum ByteOrder {