mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-24 10:16:00 +03:00
- catching invalid_handle exception to avoid rare crashes
This commit is contained in:
parent
09d8a4797d
commit
7e71de558a
1 changed files with 13 additions and 9 deletions
22
src/GUI.cpp
22
src/GUI.cpp
|
@ -1431,16 +1431,20 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
|
|||
for(torrentIT = torrents.begin(); torrentIT != torrents.end(); torrentIT++) {
|
||||
QTorrentHandle h = QTorrentHandle(*torrentIT);
|
||||
if(!h.is_valid()) continue;
|
||||
if(h.is_seed()) {
|
||||
// Update in finished list
|
||||
finishedTorrentTab->updateTorrent(h);
|
||||
} else {
|
||||
// Update in download list
|
||||
if(downloadingTorrentTab->updateTorrent(h)) {
|
||||
// Torrent was added, we may need to remove it from finished tab
|
||||
finishedTorrentTab->deleteTorrent(h.hash());
|
||||
TorrentPersistentData::saveSeedStatus(h);
|
||||
try {
|
||||
if(h.is_seed()) {
|
||||
// Update in finished list
|
||||
finishedTorrentTab->updateTorrent(h);
|
||||
} else {
|
||||
// Update in download list
|
||||
if(downloadingTorrentTab->updateTorrent(h)) {
|
||||
// Torrent was added, we may need to remove it from finished tab
|
||||
finishedTorrentTab->deleteTorrent(h.hash());
|
||||
TorrentPersistentData::saveSeedStatus(h);
|
||||
}
|
||||
}
|
||||
} catch(invalid_handle e) {
|
||||
qDebug("Caught Invalid handle exception, lucky us.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue