From 55d5f1ed01b1a1d0b964bafef78f522bcdb69b1a Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Mon, 18 Jul 2016 14:59:59 +0200 Subject: [PATCH] Kits: Keep 4.1 toolchain information around This stops creator from breaking settings when switching between the 4.1 and the master branch. Change-Id: I58a9b588368e2bd2a235503a5ca204d48ea5cead Reviewed-by: Tim Jenssen Reviewed-by: Eike Ziller --- .../projectexplorer/kitinformation.cpp | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 9fc3697b629..19e8da97750 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -267,7 +267,7 @@ IOutputParser *ToolChainKitInformation::createOutputParser(const Kit *k) const Core::Id ToolChainKitInformation::id() { - return "PE.Profile.ToolChain"; + return "PE.Profile.ToolChains"; } ToolChain *ToolChainKitInformation::toolChain(const Kit *k, ToolChain::Language l) @@ -347,14 +347,21 @@ QString ToolChainKitInformation::msgNoToolChainInTarget() QVariantMap ToolChainKitInformation::readValue(const Kit *k) { - QVariant value = k->value(ToolChainKitInformation::id()); - if (value.isNull()) - value = defaultValue(); - else if (value.type() == QVariant::String) { - // Legacy value: Convert... - QVariantMap tmp; - tmp.insert(ToolChain::languageDisplayName(ToolChain::Language::Cxx), value.toString()); - value = tmp; + const QVariant oldValue = k->value("PE.Profile.ToolChain"); + const QVariant value = k->value(ToolChainKitInformation::id()); + if (value.isNull()) { + if (!oldValue.isNull()) { + if (oldValue.type() == QVariant::Map) { + // Used between 4.1 and 4.2: + return oldValue.toMap(); + } else { + // Used up to 4.1: + QVariantMap tmp; + tmp.insert(ToolChain::languageDisplayName(ToolChain::Language::Cxx), value.toString()); + return tmp; + } + } + return defaultValue().toMap(); } return value.toMap(); }