From c6cdf38e752c22babdbe645366bdfb7ce51d01ff Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 31 Jan 2020 12:11:54 +0100 Subject: Change qHash() to work with size_t instead of uint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is required, so that QHash and QSet can hold more than 2^32 items on 64 bit platforms. The actual hashing functions for strings are still 32bit, this will be changed in a follow-up commit. Change-Id: I4372125252486075ff3a0b45ecfa818359fe103b Reviewed-by: MÃ¥rten Nordheim --- src/gui/opengl/qopengl_p.h | 4 ++-- src/gui/opengl/qopenglversionfunctions.h | 2 +- src/gui/opengl/qopenglversionprofile.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/gui/opengl') diff --git a/src/gui/opengl/qopengl_p.h b/src/gui/opengl/qopengl_p.h index cda062eacf..07fd159ba8 100644 --- a/src/gui/opengl/qopengl_p.h +++ b/src/gui/opengl/qopengl_p.h @@ -133,9 +133,9 @@ inline bool operator!=(const QOpenGLConfig::Gpu &a, const QOpenGLConfig::Gpu &b) return !a.equals(b); } -inline uint qHash(const QOpenGLConfig::Gpu &gpu) +inline size_t qHash(const QOpenGLConfig::Gpu &gpu, size_t seed = 0) { - return qHash(gpu.vendorId) + qHash(gpu.deviceId) + qHash(gpu.driverVersion); + return (qHash(gpu.vendorId) + qHash(gpu.deviceId) + qHash(gpu.driverVersion)) ^ seed; } QT_END_NAMESPACE diff --git a/src/gui/opengl/qopenglversionfunctions.h b/src/gui/opengl/qopenglversionfunctions.h index 4835ea4871..f31db081bf 100644 --- a/src/gui/opengl/qopenglversionfunctions.h +++ b/src/gui/opengl/qopenglversionfunctions.h @@ -103,7 +103,7 @@ struct QOpenGLVersionStatus OpenGLStatus status; }; -inline uint qHash(const QOpenGLVersionStatus &v, uint seed = 0) noexcept +inline size_t qHash(const QOpenGLVersionStatus &v, size_t seed = 0) noexcept { return qHash(static_cast(v.status * 1000) + v.version.first * 100 + v.version.second * 10, seed); diff --git a/src/gui/opengl/qopenglversionprofile.h b/src/gui/opengl/qopenglversionprofile.h index f3b67e4eb5..7315f1a2cb 100644 --- a/src/gui/opengl/qopenglversionprofile.h +++ b/src/gui/opengl/qopenglversionprofile.h @@ -81,7 +81,7 @@ private: QOpenGLVersionProfilePrivate* d; }; -inline uint qHash(const QOpenGLVersionProfile &v, uint seed = 0) +inline size_t qHash(const QOpenGLVersionProfile &v, size_t seed = 0) { return qHash(static_cast(v.profile() * 1000) + v.version().first * 100 + v.version().second * 10, seed); -- cgit v1.2.3