diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2019-07-22 16:27:04 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2019-08-15 12:15:44 +0000 |
commit | 864aaa7ea3867530ff662af8265ac701257be36e (patch) | |
tree | bbee431d39b9362f23809b06e097c8071ecfa3e3 | |
parent | 6d5c3d36ea1069f1b3a419dcb2708a1fc2c0e77c (diff) |
Fix Mkdir undo operation fail to remove directory in Settings operation
Related to 0a842140f5d7cc7383c5266acbbc74428dd82014. MkdirOperation
object instantiated in SettingsOperation::undoOperation() doesn't have
reference to PackageManagerCore instance. As such, replacing
@RELOCATABLE_PATH@ with targetDir value can't be done and the created
settings file path, being invalid, doesn't get removed.
Pass reference of the package manager core which the Settings operation
belongs to, to MkdirOperation object, so @RELOCATABLE_PATH@ will be
replaced with core's targetDir value.
Task-number: QTIFW-1365
Change-Id: I327d8a63320ecec0e1d51fe7ed899d236fbd21e2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r-- | src/libs/installer/settingsoperation.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libs/installer/settingsoperation.cpp b/src/libs/installer/settingsoperation.cpp index e6d88b71e..ccded868d 100644 --- a/src/libs/installer/settingsoperation.cpp +++ b/src/libs/installer/settingsoperation.cpp @@ -180,7 +180,7 @@ bool SettingsOperation::undoOperation() if (!settingsFile.remove()) qWarning().noquote() << settingsFile.errorString(); if (!value(QLatin1String("createddir")).toString().isEmpty()) { - KDUpdater::MkdirOperation mkDirOperation; + KDUpdater::MkdirOperation mkDirOperation(packageManager()); mkDirOperation.setArguments(QStringList() << QFileInfo(path).absolutePath()); mkDirOperation.setValue(QLatin1String("createddir"), value(QLatin1String("createddir"))); |