From 11aa955d73bd58724b9fd0b05cc40ed8133db3f8 Mon Sep 17 00:00:00 2001 From: Silarn Date: Tue, 8 May 2018 19:21:23 -0500 Subject: Fix issue with resuming a download that was already complete. --- src/downloadmanager.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/downloadmanager.cpp') 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))) { -- cgit v1.3.1