The qHash implementation for QModelIndex is not very good resulting in hundreds of collisions in the hash table. This means most lookups in the table essentially becomes a linear search. This was 'generically' fixed for Qt 7, but couldn't be fixed for 6 because of the qHash implementation is inline and would result in different hash values for the same QModelIndex in different translation units. To work around this for this particular instance, we wrap the QModelIndex in a struct that has the fixed qHash implementation. Fixes: QTBUG-130309 Pick-to: 6.5 Change-Id: I586fb10cadf73900f3d644f421c37b381224a419 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 1558811a8485f6dcc51a50a2bba0846091ca8bf6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%