diff options
author | Liang Qi <liang.qi@qt.io> | 2017-07-04 15:19:36 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-07-04 16:05:53 +0200 |
commit | c2b224a758ce7e6dcf3748444fa8e29ab81904be (patch) | |
tree | 277cb99bf054190c935579142506caa4ec9861dd /src/corelib/global | |
parent | 10de063ff12cdba07b4620182aced8ed05ee3505 (diff) | |
parent | eaee1209f0ead5be786e81db8aee604ccfea85b0 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/corelib/io/qprocess_unix.cpp
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
src/widgets/util/util.pri
tests/auto/corelib/thread/qthread/qthread.pro
tests/auto/corelib/thread/qthread/tst_qthread.cpp
Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
Diffstat (limited to 'src/corelib/global')
-rw-r--r-- | src/corelib/global/qoperatingsystemversion.cpp | 11 | ||||
-rw-r--r-- | src/corelib/global/qoperatingsystemversion.h | 4 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/corelib/global/qoperatingsystemversion.cpp b/src/corelib/global/qoperatingsystemversion.cpp index 244f294312..83ba6e69ee 100644 --- a/src/corelib/global/qoperatingsystemversion.cpp +++ b/src/corelib/global/qoperatingsystemversion.cpp @@ -175,7 +175,10 @@ QOperatingSystemVersion QOperatingSystemVersion::current() version.m_major = -1; version.m_minor = -1; - static const int versions[][2] = { + static const struct { + uint major : 4; + uint minor : 4; + } versions[] = { { 1, 0 }, // API level 1 { 1, 1 }, // API level 2 { 1, 5 }, // API level 3 @@ -207,8 +210,8 @@ QOperatingSystemVersion QOperatingSystemVersion::current() const size_t versionIdx = size_t(QJNIObjectPrivate::getStaticField<jint>( "android/os/Build$VERSION", "SDK_INT")) - 1; if (versionIdx < sizeof(versions) / sizeof(versions[0])) { - version.m_major = versions[versionIdx][0]; - version.m_minor = versions[versionIdx][1]; + version.m_major = versions[versionIdx].major; + version.m_minor = versions[versionIdx].minor; } // API level 6 was exactly version 2.0.1 @@ -333,6 +336,7 @@ QString QOperatingSystemVersion::name() const } } +#ifdef Q_COMPILER_INITIALIZER_LISTS /*! \fn bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<OSType> types) const @@ -347,6 +351,7 @@ bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<OSType> types) c } return false; } +#endif /*! \variable QOperatingSystemVersion::Windows7 diff --git a/src/corelib/global/qoperatingsystemversion.h b/src/corelib/global/qoperatingsystemversion.h index 295365aad1..2e319e66d5 100644 --- a/src/corelib/global/qoperatingsystemversion.h +++ b/src/corelib/global/qoperatingsystemversion.h @@ -81,7 +81,6 @@ public: static const QOperatingSystemVersion AndroidNougat; static const QOperatingSystemVersion AndroidNougat_MR1; - QOperatingSystemVersion(const QOperatingSystemVersion &other) = default; Q_DECL_CONSTEXPR QOperatingSystemVersion(OSType osType, int vmajor, int vminor = -1, int vmicro = -1) : m_os(osType), @@ -99,7 +98,9 @@ public: Q_DECL_CONSTEXPR int segmentCount() const { return m_micro >= 0 ? 3 : m_minor >= 0 ? 2 : m_major >= 0 ? 1 : 0; } +#ifdef Q_COMPILER_INITIALIZER_LISTS bool isAnyOfType(std::initializer_list<OSType> types) const; +#endif Q_DECL_CONSTEXPR OSType type() const { return m_os; } QString name() const; @@ -124,6 +125,7 @@ private: static int compare(const QOperatingSystemVersion &v1, const QOperatingSystemVersion &v2); }; +Q_DECLARE_TYPEINFO(QOperatingSystemVersion, QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ? Q_RELOCATABLE_TYPE : Q_PRIMITIVE_TYPE); QT_END_NAMESPACE |