mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-19 21:03:30 -07:00
Don't resume "paused" torrents when checking by libtorrent
This commit is contained in:
parent
cf55b67cee
commit
9f0edde12b
3 changed files with 6 additions and 23 deletions
|
@ -1194,6 +1194,12 @@ void TorrentHandleImpl::forceRecheck()
|
|||
|
||||
m_nativeHandle.force_recheck();
|
||||
m_unchecked = false;
|
||||
|
||||
if (isPaused()) {
|
||||
// When "force recheck" is applied on paused torrent, we temporarily resume it
|
||||
// (really we just allow libtorrent to resume it by enabling auto management for it).
|
||||
m_nativeHandle.set_flags(lt::torrent_flags::stop_when_ready | lt::torrent_flags::auto_managed);
|
||||
}
|
||||
}
|
||||
|
||||
void TorrentHandleImpl::setSequentialDownload(const bool enable)
|
||||
|
@ -1449,17 +1455,6 @@ void TorrentHandleImpl::handleSaveResumeDataAlert(const lt::save_resume_data_ale
|
|||
m_ltAddTorrentParams.added_time = addedTime().toSecsSinceEpoch();
|
||||
m_ltAddTorrentParams.save_path = Profile::instance()->toPortablePath(
|
||||
QString::fromStdString(m_ltAddTorrentParams.save_path)).toStdString();
|
||||
if (!m_hasMissingFiles) {
|
||||
m_ltAddTorrentParams.flags = m_nativeStatus.flags;
|
||||
if (m_nativeStatus.flags & lt::torrent_flags::stop_when_ready) {
|
||||
// We need to redefine these values when torrent starting/rechecking
|
||||
// in "paused" state since native values can be logically wrong
|
||||
// (torrent can be not paused and auto_managed when it is checking).
|
||||
m_ltAddTorrentParams.flags |= lt::torrent_flags::paused;
|
||||
m_ltAddTorrentParams.flags &= ~lt::torrent_flags::auto_managed;
|
||||
m_ltAddTorrentParams.flags &= ~lt::torrent_flags::stop_when_ready;
|
||||
}
|
||||
}
|
||||
|
||||
auto resumeDataPtr = std::make_shared<lt::entry>(lt::write_resume_data(m_ltAddTorrentParams));
|
||||
lt::entry &resumeData = *resumeDataPtr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue