diff --git a/src/base/bittorrent/torrenthandle.cpp b/src/base/bittorrent/torrenthandle.cpp index 9ec78b8dd..4f49f5c88 100644 --- a/src/base/bittorrent/torrenthandle.cpp +++ b/src/base/bittorrent/torrenthandle.cpp @@ -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() } 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(); } diff --git a/src/base/bittorrent/torrenthandle.h b/src/base/bittorrent/torrenthandle.h index b67eeec3d..6639385f1 100644 --- a/src/base/bittorrent/torrenthandle.h +++ b/src/base/bittorrent/torrenthandle.h @@ -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;