summaryrefslogtreecommitdiff
path: root/src/downloadmanager.cpp
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2018-05-16 14:58:43 -0500
committerSilarn <jrim@rimpo.org>2018-05-16 14:58:43 -0500
commit941c50bff903bdd241764240167d21013d9e8f5c (patch)
treed1f8662e3392d0e8b393137ddda2314abac5b050 /src/downloadmanager.cpp
parent1e6e055f398cda4ba417015fa85d6eb3eb8345fe (diff)
Add UA to resume and fix edge case for hung download check
Diffstat (limited to 'src/downloadmanager.cpp')
-rw-r--r--src/downloadmanager.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp
index 1ffd29f0..8aba42aa 100644
--- a/src/downloadmanager.cpp
+++ b/src/downloadmanager.cpp
@@ -719,6 +719,7 @@ void DownloadManager::resumeDownloadInt(int index)
}
qDebug("request resume from url %s", qPrintable(info->currentURL()));
QNetworkRequest request(QUrl::fromEncoded(info->currentURL().toLocal8Bit()));
+ request.setHeader(QNetworkRequest::UserAgentHeader, m_NexusInterface->getAccessManager()->userAgent());
if (info->m_State != STATE_ERROR) {
info->m_ResumePos = info->m_Output.size();
QByteArray rangeHeader = "bytes=" + QByteArray::number(info->m_ResumePos) + "-";
@@ -1641,7 +1642,8 @@ void DownloadManager::checkDownloadTimeout()
{
for (int i = 0; i < m_ActiveDownloads.size(); ++i) {
if (m_ActiveDownloads[i]->m_StartTime.elapsed() - std::get<3>(m_ActiveDownloads[i]->m_SpeedDiff) > 5 * 1000 &&
- m_ActiveDownloads[i]->m_State == STATE_DOWNLOADING) {
+ m_ActiveDownloads[i]->m_State == STATE_DOWNLOADING && m_ActiveDownloads[i]->m_Reply != nullptr &&
+ m_ActiveDownloads[i]->m_Reply->isOpen()) {
pauseDownload(i);
downloadFinished(i);
resumeDownload(i);