mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-22 00:17:23 -06:00
Don't show availability bar for magnet links
This commit fixes an exception in PropertiesWidget: "Caught exception in PropertiesWidget::loadDynamicData(): invalid torrent handle used" This exception occurs when an user clicks on a torrent that doesn't have a metadata (when a magnet link is not resolved yet). One should not call torrent_handle::get_torrent_info when torrent doesn't have a metadata.
This commit is contained in:
committed by
sledgehammer999
parent
292e077562
commit
6d961cdcc5
@@ -333,14 +333,14 @@ void PropertiesWidget::loadDynamicData() {
|
|||||||
// Update ratio info
|
// Update ratio info
|
||||||
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
|
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
|
||||||
shareRatio->setText(ratio > QBtSession::MAX_RATIO ? QString::fromUtf8("∞") : misc::accurateDoubleToString(ratio, 2));
|
shareRatio->setText(ratio > QBtSession::MAX_RATIO ? QString::fromUtf8("∞") : misc::accurateDoubleToString(ratio, 2));
|
||||||
if (!h.is_seed()) {
|
if (!h.is_seed() && h.has_metadata()) {
|
||||||
showPiecesDownloaded(true);
|
showPiecesDownloaded(true);
|
||||||
// Downloaded pieces
|
// Downloaded pieces
|
||||||
bitfield bf(h.get_torrent_info().num_pieces(), 0);
|
bitfield bf(h.get_torrent_info().num_pieces(), 0);
|
||||||
h.downloading_pieces(bf);
|
h.downloading_pieces(bf);
|
||||||
downloaded_pieces->setProgress(h.pieces(), bf);
|
downloaded_pieces->setProgress(h.pieces(), bf);
|
||||||
// Pieces availability
|
// Pieces availability
|
||||||
if (h.has_metadata() && !h.is_paused() && !h.is_queued() && !h.is_checking()) {
|
if (!h.is_paused() && !h.is_queued() && !h.is_checking()) {
|
||||||
showPiecesAvailability(true);
|
showPiecesAvailability(true);
|
||||||
std::vector<int> avail;
|
std::vector<int> avail;
|
||||||
h.piece_availability(avail);
|
h.piece_availability(avail);
|
||||||
|
|||||||
Reference in New Issue
Block a user