mirror of
https://github.com/c0re100/qBittorrent-Enhanced-Edition.git
synced 2025-01-07 03:16:40 +08:00
Fix wrong 'tracker error' count
This happens when a torrent contains some tracker URLs that share the same domain. Closes #17808.
This commit is contained in:
parent
9b267690cc
commit
1b0fd45643
@ -72,11 +72,14 @@ namespace
|
||||
return scheme;
|
||||
}
|
||||
|
||||
QString getHost(const QString &tracker)
|
||||
QString getHost(const QString &url)
|
||||
{
|
||||
// We want the domain + tld. Subdomains should be disregarded
|
||||
const QUrl url {tracker};
|
||||
const QString host {url.host()};
|
||||
// If failed to parse the domain or IP address, original input should be returned
|
||||
|
||||
const QString host = QUrl(url).host();
|
||||
if (host.isEmpty())
|
||||
return url;
|
||||
|
||||
// host is in IP format
|
||||
if (!QHostAddress(host).isNull())
|
||||
@ -388,10 +391,8 @@ void TrackerFiltersList::addItem(const QString &tracker, const BitTorrent::Torre
|
||||
void TrackerFiltersList::removeItem(const QString &tracker, const BitTorrent::TorrentID &id)
|
||||
{
|
||||
const QString host = getHost(tracker);
|
||||
QSet<BitTorrent::TorrentID> torrentIDs = m_trackers.value(host);
|
||||
|
||||
if (torrentIDs.empty())
|
||||
return;
|
||||
QSet<BitTorrent::TorrentID> torrentIDs = m_trackers.value(host);
|
||||
torrentIDs.remove(id);
|
||||
|
||||
int row = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user