Make sure invalid torrent are removed from the transfer list

This commit is contained in:
Christophe Dumez 2010-01-23 19:15:00 +00:00
parent 1dd11dd8f8
commit 62d872984b

View file

@ -459,6 +459,7 @@ void TransferListWidget::refreshList() {
} }
} }
QStringList bad_hashes;
for(int i=0; i<listModel->rowCount(); ++i) { for(int i=0; i<listModel->rowCount(); ++i) {
int s = updateTorrent(i); int s = updateTorrent(i);
switch(s) { switch(s) {
@ -484,10 +485,18 @@ void TransferListWidget::refreshList() {
++nb_seeding; ++nb_seeding;
++nb_inactive; ++nb_inactive;
break; break;
case STATE_INVALID:
bad_hashes << getHashFromRow(i);
break;
default: default:
break; break;
} }
} }
// Remove bad torrents from list
foreach(QString hash, bad_hashes) {
deleteTorrent(getRowFromHash(hash), false);
}
// Update status filters counters
emit torrentStatusUpdate(nb_downloading, nb_seeding, nb_active, nb_inactive); emit torrentStatusUpdate(nb_downloading, nb_seeding, nb_active, nb_inactive);
repaint(); repaint();
} }