mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-10-22 10:46:04 +03:00
Correctly handle received metadata
It did not work correctly, since it assumed that 'lt::torrent_plugin' is created at an earlier stage and is able to track all changes in the torrent state, but in reality it turned out that it was created after the torrent moved to the `downloading_metadata` state, so we had to additionally handle it in the constructor. PR #16121.
This commit is contained in:
parent
fa418087c4
commit
f0ee6aba29
1 changed files with 5 additions and 1 deletions
|
@ -41,6 +41,7 @@ namespace
|
|||
NativeTorrentExtension::NativeTorrentExtension(const lt::torrent_handle &torrentHandle)
|
||||
: m_torrentHandle {torrentHandle}
|
||||
{
|
||||
on_state(m_torrentHandle.status({}).state);
|
||||
}
|
||||
|
||||
bool NativeTorrentExtension::on_pause()
|
||||
|
@ -56,7 +57,10 @@ bool NativeTorrentExtension::on_pause()
|
|||
void NativeTorrentExtension::on_state(const lt::torrent_status::state_t state)
|
||||
{
|
||||
if (m_state == lt::torrent_status::downloading_metadata)
|
||||
m_torrentHandle.set_flags(lt::torrent_flags::stop_when_ready);
|
||||
{
|
||||
m_torrentHandle.unset_flags(lt::torrent_flags::auto_managed);
|
||||
m_torrentHandle.pause();
|
||||
}
|
||||
|
||||
m_state = state;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue