aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mesonprojectmanager
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2024-02-23 11:07:27 +0100
committerhjk <hjk@qt.io>2024-02-23 13:52:48 +0000
commit026de59be9d7fdc07cc4f96eebab3d9a448d9845 (patch)
tree0cc77baa92674b6b52a396b65a6fc98dff280daa /src/plugins/mesonprojectmanager
parentc0bbf285a7eecfbc461290042015e0b23db2909e (diff)
Meson: Fix reading of tool settings
We were accumulating copies of the auto-detected system ninja setting since the QVariantMap retrieved with toMap() was empty as it is a Store nowadays. Change-Id: Id983b5f1bf5ff18d6f43a71ebb406520e7655705 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/mesonprojectmanager')
-rw-r--r--src/plugins/mesonprojectmanager/toolssettingsaccessor.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/mesonprojectmanager/toolssettingsaccessor.cpp b/src/plugins/mesonprojectmanager/toolssettingsaccessor.cpp
index 1fe381d0255..8e941ae21b3 100644
--- a/src/plugins/mesonprojectmanager/toolssettingsaccessor.cpp
+++ b/src/plugins/mesonprojectmanager/toolssettingsaccessor.cpp
@@ -77,14 +77,14 @@ std::vector<MesonTools::Tool_t> ToolsSettingsAccessor::loadMesonTools()
std::vector<MesonTools::Tool_t> result;
for (auto toolIndex = 0; toolIndex < entry_count; toolIndex++) {
Key name = entryName(toolIndex);
- if (data.contains(name)) {
- const auto map = data[name].toMap();
- auto type = map.value(ToolsSettings::TOOL_TYPE_KEY, ToolsSettings::TOOL_TYPE_MESON);
- if (type == ToolsSettings::TOOL_TYPE_NINJA)
- result.emplace_back(fromVariantMap<NinjaWrapper *>(storeFromVariant(data[name])));
- else
- result.emplace_back(fromVariantMap<MesonWrapper *>(storeFromVariant(data[name])));
- }
+ Store store = storeFromVariant(data[name]);
+ QString type = store.value(ToolsSettings::TOOL_TYPE_KEY).toString();
+ if (type == ToolsSettings::TOOL_TYPE_NINJA)
+ result.emplace_back(fromVariantMap<NinjaWrapper *>(storeFromVariant(data[name])));
+ else if (type == ToolsSettings::TOOL_TYPE_MESON)
+ result.emplace_back(fromVariantMap<MesonWrapper *>(storeFromVariant(data[name])));
+ else
+ QTC_CHECK(false);
}
return result;
}