Remove std::hash<QString> specialization for Qt >= 5.14

This commit is contained in:
Bill Somerville 2020-02-01 23:55:18 +00:00
parent 1a8ef22923
commit f769f179c8
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F

View File

@ -78,6 +78,12 @@ public:
}
};
#if QT_VERSION < QT_VERSION_CHECK (5, 14, 0)
// The Qt devs "fixed" this in 5.14 to specialize to use their own
// qHash(), it doesn't fix the problem we were addressing as qHash()
// returns a uint so is still a poorly distributed 32-bit value on
// 64-bit platforms, but we can't specialize ourselves as Qt already
// has - sigh.
namespace std
{
// std::hash<> specialization for QString based on the dbj2
@ -97,6 +103,7 @@ namespace std
}
};
}
#endif
// Register some useful Qt types with QMetaType
Q_DECLARE_METATYPE (QHostAddress);