diff --git a/src/transferlistwidget.cpp b/src/transferlistwidget.cpp index 726e0f321..572bb513f 100644 --- a/src/transferlistwidget.cpp +++ b/src/transferlistwidget.cpp @@ -446,6 +446,19 @@ void TransferListWidget::refreshList() { // Refresh only if displayed if(main_window->getCurrentTabIndex() != TAB_TRANSFER) return; unsigned int nb_downloading = 0, nb_seeding=0, nb_active=0, nb_inactive = 0; + if(BTSession->getSession()->get_torrents().size() != (uint)listModel->rowCount()) { + // Oups, we have torrents that are not displayed, fix that + std::vector torrents = BTSession->getSession()->get_torrents(); + std::vector::iterator itr = torrents.begin(); + while(itr != torrents.end()) { + QTorrentHandle h(*itr); + if(h.is_valid() && getRowFromHash(h.hash()) < 0) { + addTorrent(h); + } + itr++; + } + + } for(int i=0; irowCount(); ++i) { int s = updateTorrent(i); switch(s) {