From 154ee1a73ea2d78ea7a05c50935af7a7c7969248 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sun, 13 Mar 2022 13:24:26 +0800 Subject: [PATCH] Use hashing helpers provided by Qt6 --- src/base/bittorrent/peeraddress.cpp | 5 ++++- src/base/bittorrent/trackerentry.cpp | 5 ++++- src/base/net/downloadmanager.cpp | 5 ++++- src/gui/properties/peerlistwidget.cpp | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/base/bittorrent/peeraddress.cpp b/src/base/bittorrent/peeraddress.cpp index 478bf946d..3785bfbf5 100644 --- a/src/base/bittorrent/peeraddress.cpp +++ b/src/base/bittorrent/peeraddress.cpp @@ -79,9 +79,12 @@ bool BitTorrent::operator==(const BitTorrent::PeerAddress &left, const BitTorren #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) std::size_t BitTorrent::qHash(const BitTorrent::PeerAddress &addr, const std::size_t seed) +{ + return qHashMulti(seed, addr.ip, addr.port); +} #else uint BitTorrent::qHash(const BitTorrent::PeerAddress &addr, const uint seed) -#endif { return (::qHash(addr.ip, seed) ^ ::qHash(addr.port)); } +#endif diff --git a/src/base/bittorrent/trackerentry.cpp b/src/base/bittorrent/trackerentry.cpp index 50e250ebf..679029317 100644 --- a/src/base/bittorrent/trackerentry.cpp +++ b/src/base/bittorrent/trackerentry.cpp @@ -38,9 +38,12 @@ bool BitTorrent::operator==(const TrackerEntry &left, const TrackerEntry &right) #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) std::size_t BitTorrent::qHash(const TrackerEntry &key, const std::size_t seed) +{ + return qHashMulti(seed, key.url, key.tier); +} #else uint BitTorrent::qHash(const TrackerEntry &key, const uint seed) -#endif { return (::qHash(key.url, seed) ^ ::qHash(key.tier)); } +#endif diff --git a/src/base/net/downloadmanager.cpp b/src/base/net/downloadmanager.cpp index a18317f1e..872fcaecf 100644 --- a/src/base/net/downloadmanager.cpp +++ b/src/base/net/downloadmanager.cpp @@ -366,12 +366,15 @@ Net::ServiceID Net::ServiceID::fromURL(const QUrl &url) #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) std::size_t Net::qHash(const ServiceID &serviceID, const std::size_t seed) +{ + return qHashMulti(seed, serviceID.hostName, serviceID.port); +} #else uint Net::qHash(const ServiceID &serviceID, const uint seed) -#endif { return ::qHash(serviceID.hostName, seed) ^ ::qHash(serviceID.port); } +#endif bool Net::operator==(const ServiceID &lhs, const ServiceID &rhs) { diff --git a/src/gui/properties/peerlistwidget.cpp b/src/gui/properties/peerlistwidget.cpp index a0b0bf82d..96d81008d 100644 --- a/src/gui/properties/peerlistwidget.cpp +++ b/src/gui/properties/peerlistwidget.cpp @@ -73,12 +73,15 @@ bool operator==(const PeerEndpoint &left, const PeerEndpoint &right) #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) std::size_t qHash(const PeerEndpoint &peerEndpoint, const std::size_t seed = 0) +{ + return qHashMulti(seed, peerEndpoint.address, peerEndpoint.connectionType); +} #else uint qHash(const PeerEndpoint &peerEndpoint, const uint seed = 0) -#endif { return (qHash(peerEndpoint.address, seed) ^ ::qHash(peerEndpoint.connectionType)); } +#endif PeerListWidget::PeerListWidget(PropertiesWidget *parent) : QTreeView(parent)