Fixed: Infinite loop when HTTP error occurs

--HG--
branch : develop
This commit is contained in:
kervala 2016-10-16 17:29:10 +02:00
parent a5a488da3e
commit b78444490c

View file

@ -356,6 +356,8 @@ void CDownloader::onHeadFinished()
void CDownloader::onDownloadFinished()
{
int status = m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
m_reply->deleteLater();
m_reply = NULL;
@ -367,11 +369,18 @@ void CDownloader::onDownloadFinished()
}
else
{
bool ok = NLMISC::CFile::setFileModificationDate(m_fullPath.toUtf8().constData(), m_lastModified.toTime_t());
if (QFileInfo(m_fullPath).size() == m_size)
{
bool ok = NLMISC::CFile::setFileModificationDate(m_fullPath.toUtf8().constData(), m_lastModified.toTime_t());
if (m_listener) m_listener->operationSuccess(m_size);
if (m_listener) m_listener->operationSuccess(m_size);
emit downloadDone();
emit downloadDone();
}
else
{
m_listener->operationFail(tr("HTTP error: %1").arg(status));
}
}
}
@ -383,10 +392,6 @@ void CDownloader::onError(QNetworkReply::NetworkError error)
{
m_listener->operationStop();
}
else
{
m_listener->operationFail(tr("Network error: %1").arg(error));
}
}
void CDownloader::onDownloadProgress(qint64 current, qint64 total)