diff options
author | hjk <hjk@qt.io> | 2024-02-23 11:07:27 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2024-02-23 13:52:48 +0000 |
commit | 026de59be9d7fdc07cc4f96eebab3d9a448d9845 (patch) | |
tree | 0cc77baa92674b6b52a396b65a6fc98dff280daa /src/plugins/mesonprojectmanager | |
parent | c0bbf285a7eecfbc461290042015e0b23db2909e (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.cpp | 16 |
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; } |