Browse Source

Merge pull request #11999 from an0n666/fix-not-contacted-tracker

Do not list not contacted trackers as error
adaptive-webui-19844
Mike Tzou 5 years ago committed by GitHub
parent
commit
04132f6266
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/base/bittorrent/torrenthandle.cpp

5
src/base/bittorrent/torrenthandle.cpp

@ -1654,14 +1654,13 @@ void TorrentHandle::handleTrackerErrorAlert(const lt::tracker_error_alert *p) @@ -1654,14 +1654,13 @@ void TorrentHandle::handleTrackerErrorAlert(const lt::tracker_error_alert *p)
// Starting with libtorrent 1.2.x each tracker has multiple local endpoints from which
// an announce is attempted. Some endpoints might succeed while others might fail.
// Emit the signal only if all endpoints have failed. TrackerEntry::isWorking() returns
// true if at least one endpoint works.
// Emit the signal only if all endpoints have failed.
const QVector<TrackerEntry> trackerList = trackers();
const auto iter = std::find_if(trackerList.cbegin(), trackerList.cend(), [&trackerUrl](const TrackerEntry &entry)
{
return (entry.url() == trackerUrl);
});
if ((iter != trackerList.cend()) && !iter->isWorking())
if ((iter != trackerList.cend()) && (iter->status() == TrackerEntry::NotWorking))
m_session->handleTorrentTrackerError(this, trackerUrl);
}

Loading…
Cancel
Save