1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-03-13 05:41:17 +00:00

Make sure ResumeSessionContext is destroyed before start processing

PR #18912.
This commit is contained in:
Vladimir Golovnev 2023-05-02 09:48:49 +03:00 committed by GitHub
parent 821e946bbe
commit d83b2a6131
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1435,27 +1435,29 @@ void SessionImpl::endStartup(ResumeSessionContext *context)
}
context->deleteLater();
m_nativeSession->resume();
if (m_refreshEnqueued)
m_refreshEnqueued = false;
else
enqueueRefresh();
m_statisticsLastUpdateTimer.start();
// Regular saving of fastresume data
connect(m_resumeDataTimer, &QTimer::timeout, this, &SessionImpl::generateResumeData);
const int saveInterval = saveResumeDataInterval();
if (saveInterval > 0)
connect(context, &QObject::destroyed, this, [this]
{
m_resumeDataTimer->setInterval(std::chrono::minutes(saveInterval));
m_resumeDataTimer->start();
}
m_nativeSession->resume();
if (m_refreshEnqueued)
m_refreshEnqueued = false;
else
enqueueRefresh();
m_isRestored = true;
emit startupProgressUpdated(100);
emit restored();
m_statisticsLastUpdateTimer.start();
// Regular saving of fastresume data
connect(m_resumeDataTimer, &QTimer::timeout, this, &SessionImpl::generateResumeData);
const int saveInterval = saveResumeDataInterval();
if (saveInterval > 0)
{
m_resumeDataTimer->setInterval(std::chrono::minutes(saveInterval));
m_resumeDataTimer->start();
}
m_isRestored = true;
emit startupProgressUpdated(100);
emit restored();
});
}
void SessionImpl::initializeNativeSession()