From d896e3a49f09324530b9fb73a0891a5553473fd5 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Thu, 15 Mar 2018 21:16:39 +0000 Subject: New upstream version 1.4.0.5 --- InternetUpdater.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'InternetUpdater.cpp') diff --git a/InternetUpdater.cpp b/InternetUpdater.cpp index a3dbded..9246e80 100644 --- a/InternetUpdater.cpp +++ b/InternetUpdater.cpp @@ -18,6 +18,16 @@ InternetUpdater::InternetUpdater(QObject *parent) : newUpdateTimer.start(1000*3600); firstUpdateTimer.setSingleShot(true); firstUpdateTimer.start(1000*60); + reply=NULL; +} + +InternetUpdater::~InternetUpdater() +{ + if(reply!=NULL) + { + delete reply; + reply=NULL; + } } void InternetUpdater::downloadFile() @@ -59,11 +69,14 @@ void InternetUpdater::downloadFile() void InternetUpdater::httpFinished() { + if(reply==NULL) + return; QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); if (!reply->isFinished()) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"get the new update failed: not finished"); reply->deleteLater(); + reply=NULL; return; } else if (reply->error()) @@ -72,10 +85,12 @@ void InternetUpdater::httpFinished() newUpdateTimer.start(1000*3600*24); ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"get the new update failed: "+reply->errorString().toStdString()); reply->deleteLater(); + reply=NULL; return; } else if (!redirectionTarget.isNull()) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"redirection denied to: "+redirectionTarget.toUrl().toString().toStdString()); reply->deleteLater(); + reply=NULL; return; } QString newVersion=QString::fromUtf8(reply->readAll()); @@ -83,6 +98,7 @@ void InternetUpdater::httpFinished() { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"version string is empty"); reply->deleteLater(); + reply=NULL; return; } newVersion.remove("\n"); @@ -90,21 +106,25 @@ void InternetUpdater::httpFinished() { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"version string don't match: "+newVersion.toStdString()); reply->deleteLater(); + reply=NULL; return; } if(newVersion==ULTRACOPIER_VERSION) { reply->deleteLater(); + reply=NULL; return; } if(PluginsManager::compareVersion(newVersion.toStdString(),"<=",ULTRACOPIER_VERSION)) { reply->deleteLater(); + reply=NULL; return; } newUpdateTimer.stop(); emit newUpdate(newVersion.toStdString()); reply->deleteLater(); + reply=NULL; } #endif -- cgit v1.2.3