From a84259dd1a6f1576c5049b4db75f70f1cf57292e Mon Sep 17 00:00:00 2001 From: Vladimir Golovnev Date: Fri, 29 Sep 2023 07:33:19 +0300 Subject: [PATCH] Filter out duplicate trackers when replacing PR #19656. --- src/base/bittorrent/torrentimpl.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/base/bittorrent/torrentimpl.cpp b/src/base/bittorrent/torrentimpl.cpp index 8c6499a7c..f11256557 100644 --- a/src/base/bittorrent/torrentimpl.cpp +++ b/src/base/bittorrent/torrentimpl.cpp @@ -600,6 +600,9 @@ void TorrentImpl::replaceTrackers(QVector trackers) { // TODO: use std::erase_if() in C++20 trackers.erase(std::remove_if(trackers.begin(), trackers.end(), [](const TrackerEntry &entry) { return entry.url.isEmpty(); }), trackers.end()); + // Filter out duplicate trackers + const auto uniqueTrackers = QSet(trackers.cbegin(), trackers.cend()); + trackers = QVector(uniqueTrackers.cbegin(), uniqueTrackers.cend()); std::sort(trackers.begin(), trackers.end() , [](const TrackerEntry &lhs, const TrackerEntry &rhs) { return lhs.tier < rhs.tier; });