diff options
Diffstat (limited to 'src/libs/installer/elevatedexecuteoperation.cpp')
-rw-r--r-- | src/libs/installer/elevatedexecuteoperation.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libs/installer/elevatedexecuteoperation.cpp b/src/libs/installer/elevatedexecuteoperation.cpp index f5640ef8d..39be98e6f 100644 --- a/src/libs/installer/elevatedexecuteoperation.cpp +++ b/src/libs/installer/elevatedexecuteoperation.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -31,6 +31,7 @@ #include "environment.h" #include "qprocesswrapper.h" #include "globals.h" +#include "packagemanagercore.h" #include <QtCore/QDebug> #include <QtCore/QProcessEnvironment> @@ -72,6 +73,7 @@ ElevatedExecuteOperation::ElevatedExecuteOperation(PackageManagerCore *core) { // this operation has to "overwrite" the Execute operation from KDUpdater setName(QLatin1String("Execute")); + setRequiresUnreplacedVariables(true); } ElevatedExecuteOperation::~ElevatedExecuteOperation() @@ -94,6 +96,10 @@ bool ElevatedExecuteOperation::performOperation() break; //we don't need the UNDOEXECUTE args here } + if (requiresUnreplacedVariables()) { + PackageManagerCore *const core = packageManager(); + args = core->replaceVariables(args); + } return d->run(args); } @@ -262,7 +268,6 @@ void ElevatedExecuteOperation::Private::readProcessOutput() } } - bool ElevatedExecuteOperation::undoOperation() { QStringList args; @@ -276,6 +281,10 @@ bool ElevatedExecuteOperation::undoOperation() if (args.isEmpty()) return true; + if (requiresUnreplacedVariables()) { + PackageManagerCore *const core = packageManager(); + args = core->replaceVariables(args); + } return d->run(args); } |