diff --git a/src/DownloadJob.cpp b/src/DownloadJob.cpp index fa8da29..b090dd0 100644 --- a/src/DownloadJob.cpp +++ b/src/DownloadJob.cpp @@ -18,9 +18,9 @@ void DownloadJob::start() { assert(m_sourceUrl.isValid()); QNetworkRequest request(m_sourceUrl); - m_reply = m_net->get(request); - connect (m_reply, &QNetworkReply::finished, this, [=]() { - if (m_reply->error() != QNetworkReply::NoError) { + auto reply = m_net->get(request); + connect (reply, &QNetworkReply::finished, this, [=]() { + if (reply->error() != QNetworkReply::NoError) { // TODO mark file as not available somehow. logCritical() << "Download failed" << m_sourceUrl.toString(); } @@ -32,9 +32,11 @@ void DownloadJob::start() if (!out.open(QIODevice::WriteOnly)) { logCritical() << "Opening file for writing failed" << m_targetFilePath; } - out.write(m_reply->readAll()); + out.write(reply->readAll()); out.flush(); } + reply->deleteLater(); + deleteLater(); emit this->finished(); }); } diff --git a/src/DownloadJob.h b/src/DownloadJob.h index 2b6c972..006bef7 100644 --- a/src/DownloadJob.h +++ b/src/DownloadJob.h @@ -27,7 +27,6 @@ private: QString m_targetFilePath; QUrl m_sourceUrl; - QNetworkReply *m_reply = nullptr; QNetworkAccessManager *m_net; };