Fix cases where the fastresume was wrongly overwritten when in 'Missing Files' status. Closes #3602.

This commit is contained in:
sledgehammer999 2015-11-29 18:40:24 +02:00
commit fd39efd846

View file

@ -1701,6 +1701,7 @@ void Session::handleTorrentChecked(TorrentHandle *const torrent)
void Session::handleTorrentFinished(TorrentHandle *const torrent) void Session::handleTorrentFinished(TorrentHandle *const torrent)
{ {
if (!torrent->hasError() && !torrent->hasMissingFiles())
saveTorrentResumeData(torrent); saveTorrentResumeData(torrent);
emit torrentFinished(torrent); emit torrentFinished(torrent);
@ -2153,9 +2154,12 @@ void Session::handleAddTorrentAlert(libtorrent::add_torrent_alert *p)
torrent->resume(); torrent->resume();
logger->addMessage(tr("'%1' added to download list.", "'torrent name' was added to download list.") logger->addMessage(tr("'%1' added to download list.", "'torrent name' was added to download list.")
.arg(torrent->name())); .arg(torrent->name()));
// In case of crash before the scheduled generation
// of the fastresumes.
saveTorrentResumeData(torrent);
} }
saveTorrentResumeData(torrent);
if ((torrent->ratioLimit() >= 0) && !m_bigRatioTimer->isActive()) if ((torrent->ratioLimit() >= 0) && !m_bigRatioTimer->isActive())
m_bigRatioTimer->start(); m_bigRatioTimer->start();