summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2018-05-08 19:21:23 -0500
committerSilarn <jrim@rimpo.org>2018-05-08 19:22:07 -0500
commit11aa955d73bd58724b9fd0b05cc40ed8133db3f8 (patch)
treecf604d51d8fe8a7b7bd7de29fb6b5ec81b0a9596 /src
parent2486c554a0a4ac3f9cd999d3785d6a26de7bca56 (diff)
Fix issue with resuming a download that was already complete.
Diffstat (limited to 'src')
-rw-r--r--src/downloadmanager.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp
index a63e6c45..bfc4de3e 100644
--- a/src/downloadmanager.cpp
+++ b/src/downloadmanager.cpp
@@ -464,7 +464,10 @@ void DownloadManager::startDownload(QNetworkReply *reply, DownloadInfo *newDownl
QCoreApplication::processEvents();
- if (newDownload->m_State != STATE_DOWNLOADING && reply->isFinished()) {
+ if (newDownload->m_State != STATE_DOWNLOADING &&
+ newDownload->m_State != STATE_READY &&
+ newDownload->m_State != STATE_FETCHINGMODINFO &&
+ reply->isFinished()) {
downloadFinished(indexByName(newDownload->m_FileName));
return;
}
@@ -690,6 +693,14 @@ void DownloadManager::resumeDownloadInt(int index)
return;
}
DownloadInfo *info = m_ActiveDownloads[index];
+
+ // Check for finished download;
+ if (info->m_TotalSize <= info->m_Output.size()) {
+ setState(info, STATE_DOWNLOADING);
+ downloadFinished(index);
+ return;
+ }
+
if (info->isPausedState()) {
if ((info->m_Urls.size() == 0)
|| ((info->m_Urls.size() == 1) && (info->m_Urls[0].size() == 0))) {