diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-12-03 09:04:07 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-12-04 06:00:38 +0000 |
commit | 6012285e7dedb4364e2db087b7d5cbfc2973320a (patch) | |
tree | 79232331bc1c2f5c8effb3266019e8d089b61e13 /src/corelib/itemmodels | |
parent | 793dbd8ee67ee8ad62dcb9b2304645293eabe837 (diff) |
Fix hashing of QPersistentModelIndex
The hash and equality operators used need to be consistent with
each other. Unfortunately, QPMI::operator==() is not suitable to do
this. So specialize qHashEquals() for QPMI.
Fixes: QTBUG-88966
Change-Id: If5f19a722ae9fc4e78e93537e7ea15726f148768
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 83e95956ed58e88b11e2cc3cb61c5beacb7985db)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/corelib/itemmodels')
-rw-r--r-- | src/corelib/itemmodels/qabstractitemmodel.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/itemmodels/qabstractitemmodel.h b/src/corelib/itemmodels/qabstractitemmodel.h index 9b10106187..7479f4b043 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.h +++ b/src/corelib/itemmodels/qabstractitemmodel.h @@ -242,6 +242,8 @@ public: private: QPersistentModelIndexData *d; friend size_t qHash(const QPersistentModelIndex &, size_t seed) noexcept; + friend bool qHashEquals(const QPersistentModelIndex &a, const QPersistentModelIndex &b) noexcept + { return a.d == b.d; } #ifndef QT_NO_DEBUG_STREAM friend Q_CORE_EXPORT QDebug operator<<(QDebug, const QPersistentModelIndex &); #endif |