Browse Source

Merge pull request #8711 from sledgehammer999/recheck_paused

Avoid data corruption when rechecking paused torrents
adaptive-webui-19844
sledgehammer999 7 years ago committed by GitHub
parent
commit
341a971cd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      src/base/bittorrent/torrenthandle.cpp
  2. 1
      src/base/bittorrent/torrenthandle.h

9
src/base/bittorrent/torrenthandle.cpp

@ -1277,7 +1277,7 @@ void TorrentHandle::forceRecheck() @@ -1277,7 +1277,7 @@ void TorrentHandle::forceRecheck()
if (isPaused()) {
m_pauseAfterRecheck = true;
resume();
resume_impl(true, true);
}
m_nativeHandle.force_recheck();
@ -1345,12 +1345,17 @@ void TorrentHandle::pause() @@ -1345,12 +1345,17 @@ void TorrentHandle::pause()
}
void TorrentHandle::resume(bool forced)
{
resume_impl(forced, false);
}
void TorrentHandle::resume_impl(bool forced, bool uploadMode)
{
if (hasError())
m_nativeHandle.clear_error();
m_hasMissingFiles = false;
m_nativeHandle.set_upload_mode(false);
m_nativeHandle.auto_managed(!forced);
m_nativeHandle.set_upload_mode(uploadMode);
m_nativeHandle.resume();
}

1
src/base/bittorrent/torrenthandle.h

@ -406,6 +406,7 @@ namespace BitTorrent @@ -406,6 +406,7 @@ namespace BitTorrent
void handleMetadataReceivedAlert(libtorrent::metadata_received_alert *p);
void handleStatsAlert(libtorrent::stats_alert *p);
void resume_impl(bool forced, bool uploadMode);
bool isMoveInProgress() const;
QString nativeActualSavePath() const;

Loading…
Cancel
Save