diff options
Diffstat (limited to 'src/libs/installer/registerdefaultdebuggeroperation.cpp')
-rw-r--r-- | src/libs/installer/registerdefaultdebuggeroperation.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/libs/installer/registerdefaultdebuggeroperation.cpp b/src/libs/installer/registerdefaultdebuggeroperation.cpp index 2cdb4e6bc..3b8c97250 100644 --- a/src/libs/installer/registerdefaultdebuggeroperation.cpp +++ b/src/libs/installer/registerdefaultdebuggeroperation.cpp @@ -32,7 +32,6 @@ #include "registerdefaultdebuggeroperation.h" -#include "constants.h" #include "persistentsettings.h" #include "packagemanagercore.h" #include "qtcreator_constants.h" @@ -95,8 +94,13 @@ bool RegisterDefaultDebuggerOperation::performOperation() setErrorString(tr("Needed installer object in \"%1\" operation is empty.").arg(name())); return false; } - const QString &rootInstallPath = core->value(scTargetDir); - toolChainsXmlFilePath = rootInstallPath + QLatin1String(ToolChainSettingsSuffixPath); + if (core->value(scQtCreatorInstallerToolchainsFile).isEmpty()) { + setError(UserDefinedError); + setErrorString(tr("There is no value set for %1 on the installer object.").arg( + scQtCreatorInstallerToolchainsFile)); + return false; + } + toolChainsXmlFilePath = core->value(scQtCreatorInstallerToolchainsFile); int argCounter = 0; const QString &abiString = args.at(argCounter++); //for example x86-windows-msys-pe-32bit @@ -126,16 +130,23 @@ bool RegisterDefaultDebuggerOperation::undoOperation() return false; } - QString toolChainsXmlFilePath; - PackageManagerCore *const core = qVariantValue<PackageManagerCore *>(value(QLatin1String("installer"))); if (!core) { setError(UserDefinedError); setErrorString(tr("Needed installer object in \"%1\" operation is empty.").arg(name())); return false; } - const QString &rootInstallPath = core->value(scTargetDir); - toolChainsXmlFilePath = rootInstallPath + QLatin1String(ToolChainSettingsSuffixPath); + + // default value is the old value to keep the possibility that old saved operations can run undo +#ifdef Q_OS_MAC + QString toolChainsXmlFilePath = core->value(scQtCreatorInstallerToolchainsFile, + QString::fromLatin1("%1/Qt Creator.app/Contents/Resources/Nokia/toolChains.xml").arg( + core->value(QLatin1String("TargetDir")))); +#else + QString toolChainsXmlFilePath = core->value(scQtCreatorInstallerToolchainsFile, + QString::fromLatin1("%1/QtCreator/share/qtcreator/Nokia/toolChains.xml").arg(core->value( + QLatin1String("TargetDir")))); +#endif int argCounter = 0; const QString &abiString = args.at(argCounter++); //for example x86-windows-msys-pe-32bit |