diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 738883f1f..532ec1223 100644 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -1587,14 +1587,20 @@ qreal QBtSession::getRealRatio(const QString &hash) const{ if(!h.is_valid()) { return 0.; } - const libtorrent::size_type all_time_download = h.all_time_download(); - const libtorrent::size_type all_time_upload = h.all_time_upload(); + + libtorrent::size_type all_time_upload = h.all_time_upload(); + libtorrent::size_type all_time_download = h.all_time_download(); + if (all_time_download == 0 && h.is_seed()) { + // Purely seeded torrent + all_time_download = h.total_done(); + } if(all_time_download == 0) { if(all_time_upload == 0) return 0; return MAX_RATIO+1; } + qreal ratio = all_time_upload / (float) all_time_download; Q_ASSERT(ratio >= 0.); if(ratio > MAX_RATIO)