mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-11 07:18:08 +00:00
parent
634eb4a183
commit
821e946bbe
@ -35,27 +35,6 @@
|
|||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
void handleAddTorrentAlert([[maybe_unused]] const lt::add_torrent_alert *alert)
|
|
||||||
{
|
|
||||||
#ifndef QBT_USES_LIBTORRENT2
|
|
||||||
if (alert->error)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// libtorrent < 2.0.7 has a bug that add_torrent_alert is posted too early
|
|
||||||
// (before torrent is fully initialized and torrent extensions are created)
|
|
||||||
// so we have to fill "extension data" in add_torrent_alert handler
|
|
||||||
|
|
||||||
// NOTE: `data` may not exist if a torrent is added behind the scenes to download metadata
|
|
||||||
auto *data = static_cast<ExtensionData *>(alert->params.userdata);
|
|
||||||
if (data)
|
|
||||||
{
|
|
||||||
data->status = alert->handle.status({});
|
|
||||||
data->trackers = alert->handle.trackers();
|
|
||||||
data->urlSeeds = alert->handle.url_seeds();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void handleFastresumeRejectedAlert(const lt::fastresume_rejected_alert *alert)
|
void handleFastresumeRejectedAlert(const lt::fastresume_rejected_alert *alert)
|
||||||
{
|
{
|
||||||
alert->handle.unset_flags(lt::torrent_flags::auto_managed);
|
alert->handle.unset_flags(lt::torrent_flags::auto_managed);
|
||||||
@ -91,9 +70,6 @@ void NativeSessionExtension::on_alert(const lt::alert *alert)
|
|||||||
case lt::session_stats_alert::alert_type:
|
case lt::session_stats_alert::alert_type:
|
||||||
handleSessionStatsAlert(static_cast<const lt::session_stats_alert *>(alert));
|
handleSessionStatsAlert(static_cast<const lt::session_stats_alert *>(alert));
|
||||||
break;
|
break;
|
||||||
case lt::add_torrent_alert::alert_type:
|
|
||||||
handleAddTorrentAlert(static_cast<const lt::add_torrent_alert *>(alert));
|
|
||||||
break;
|
|
||||||
case lt::fastresume_rejected_alert::alert_type:
|
case lt::fastresume_rejected_alert::alert_type:
|
||||||
handleFastresumeRejectedAlert(static_cast<const lt::fastresume_rejected_alert *>(alert));
|
handleFastresumeRejectedAlert(static_cast<const lt::fastresume_rejected_alert *>(alert));
|
||||||
break;
|
break;
|
||||||
|
@ -36,19 +36,12 @@ NativeTorrentExtension::NativeTorrentExtension(const lt::torrent_handle &torrent
|
|||||||
{
|
{
|
||||||
// NOTE: `data` may not exist if a torrent is added behind the scenes to download metadata
|
// NOTE: `data` may not exist if a torrent is added behind the scenes to download metadata
|
||||||
|
|
||||||
#ifdef QBT_USES_LIBTORRENT2
|
|
||||||
// libtorrent < 2.0.7 has a bug that add_torrent_alert is posted too early
|
|
||||||
// (before torrent is fully initialized and torrent extensions are created)
|
|
||||||
// so we have to fill "extension data" in add_torrent_alert handler and
|
|
||||||
// we have it already filled at this point
|
|
||||||
|
|
||||||
if (m_data)
|
if (m_data)
|
||||||
{
|
{
|
||||||
m_data->status = m_torrentHandle.status();
|
m_data->status = m_torrentHandle.status();
|
||||||
m_data->trackers = m_torrentHandle.trackers();
|
m_data->trackers = m_torrentHandle.trackers();
|
||||||
m_data->urlSeeds = m_torrentHandle.url_seeds();
|
m_data->urlSeeds = m_torrentHandle.url_seeds();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
on_state(m_data ? m_data->status.state : m_torrentHandle.status({}).state);
|
on_state(m_data ? m_data->status.state : m_torrentHandle.status({}).state);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user