mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-20 23:47:23 -06:00
Fix peer count issue when tracker responds with zero figure
Sometimes tracker may respond with 0 for num_complete and num_incomplete and we should display that instead of deducing the peer count from peer list. We should only fallback to peer list if tracker does not respond with any information. In such cases num_incomplete and num_complete is set to -1 by libtorrent. PR #17432.
This commit is contained in:
@@ -1153,30 +1153,18 @@ int TorrentImpl::leechsCount() const
|
||||
|
||||
int TorrentImpl::totalSeedsCount() const
|
||||
{
|
||||
return (m_nativeStatus.num_complete > 0) ? m_nativeStatus.num_complete : m_nativeStatus.list_seeds;
|
||||
return (m_nativeStatus.num_complete > -1) ? m_nativeStatus.num_complete : m_nativeStatus.list_seeds;
|
||||
}
|
||||
|
||||
int TorrentImpl::totalPeersCount() const
|
||||
{
|
||||
const int peers = m_nativeStatus.num_complete + m_nativeStatus.num_incomplete;
|
||||
return (peers > 0) ? peers : m_nativeStatus.list_peers;
|
||||
return (peers > -1) ? peers : m_nativeStatus.list_peers;
|
||||
}
|
||||
|
||||
int TorrentImpl::totalLeechersCount() const
|
||||
{
|
||||
return (m_nativeStatus.num_incomplete > 0) ? m_nativeStatus.num_incomplete : (m_nativeStatus.list_peers - m_nativeStatus.list_seeds);
|
||||
}
|
||||
|
||||
int TorrentImpl::completeCount() const
|
||||
{
|
||||
// additional info: https://github.com/qbittorrent/qBittorrent/pull/5300#issuecomment-267783646
|
||||
return m_nativeStatus.num_complete;
|
||||
}
|
||||
|
||||
int TorrentImpl::incompleteCount() const
|
||||
{
|
||||
// additional info: https://github.com/qbittorrent/qBittorrent/pull/5300#issuecomment-267783646
|
||||
return m_nativeStatus.num_incomplete;
|
||||
return (m_nativeStatus.num_incomplete > -1) ? m_nativeStatus.num_incomplete : (m_nativeStatus.list_peers - m_nativeStatus.list_seeds);
|
||||
}
|
||||
|
||||
QDateTime TorrentImpl::lastSeenComplete() const
|
||||
|
||||
Reference in New Issue
Block a user