summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2019-11-08 08:03:57 +0200
committerKatja Marttila <katja.marttila@qt.io>2019-11-13 05:31:52 +0000
commit8053f11af1462f848d1b004500435d6af38827e7 (patch)
treef0c0e19c9119abe25007f8cb9c399aff11a2dde9
parentf667bf73d0e38b4970d6b643b93109f7b318563d (diff)
Fix file deletion when canceling installation
Task-number: QTIFW-1466 Change-Id: I2b9f000cddc63e9eccefb3d86f93ab05a5631581 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r--src/libs/installer/extractarchiveoperation.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libs/installer/extractarchiveoperation.cpp b/src/libs/installer/extractarchiveoperation.cpp
index 1c3e1b78a..e790920d1 100644
--- a/src/libs/installer/extractarchiveoperation.cpp
+++ b/src/libs/installer/extractarchiveoperation.cpp
@@ -150,18 +150,18 @@ bool ExtractArchiveOperation::undoOperation()
startUndoProcess(files);
} else {
const QString filePath = value(QLatin1String("files")).toString();
- QString target = QCoreApplication::applicationDirPath();
+ QString targetDir = arguments().at(1);
// Does not change target on non macOS platforms.
- if (QInstaller::isInBundle(target, &target))
- target = QDir::cleanPath(target + QLatin1String("/.."));
- QString fileName = replacePath(filePath, QLatin1String(scRelocatable), target);
+ if (QInstaller::isInBundle(targetDir, &targetDir))
+ targetDir = QDir::cleanPath(targetDir + QLatin1String("/.."));
+ QString fileName = replacePath(filePath, QLatin1String(scRelocatable), targetDir);
QFile file(fileName);
if (file.open(QIODevice::ReadOnly)) {
QDataStream in(&file);
in >> files;
for (int i = 0; i < files.count(); ++i)
- files[i] = replacePath(files.at(i), QLatin1String(scRelocatable), target);
+ files[i] = replacePath(files.at(i), QLatin1String(scRelocatable), targetDir);
startUndoProcess(files);
QFileInfo fileInfo(file);
file.remove();