Remove unused installers before copying new ones into the appdata dir
authorDominik Schmidt <dev@dominik-schmidt.de>
Sun, 2 Sep 2018 08:36:55 +0000 (10:36 +0200)
committerCamila (Rebase PR Action) <hello@camila.codes>
Tue, 24 Nov 2020 18:22:33 +0000 (18:22 +0000)
src/gui/updater/ocupdater.cpp

index b55e73ee5e21754ce19945d8d198d1fd1d0b2dae..fa1ed9b66eaf08e10d2ddf1f7e85d89eeba96459 100644 (file)
@@ -298,11 +298,19 @@ void NSISUpdater::slotDownloadFinished()
 
     QUrl url(reply->url());
     _file->close();
+
+    ConfigFile cfg;
+    QSettings settings(cfg.configFile(), QSettings::IniFormat);
+
+    // remove previously downloaded but not used installer
+    QFile oldTargetFile(settings.value(updateAvailableC).toString());
+    if (oldTargetFile.exists()) {
+        oldTargetFile.remove();
+    }
+
     QFile::copy(_file->fileName(), _targetFile);
     setDownloadState(DownloadComplete);
     qCInfo(lcUpdater) << "Downloaded" << url.toString() << "to" << _targetFile;
-    ConfigFile cfg;
-    QSettings settings(cfg.configFile(), QSettings::IniFormat);
     settings.setValue(updateTargetVersionC, updateInfo().version());
     settings.setValue(updateAvailableC, _targetFile);
 }