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 ToolsSettingsAccessor::loadMesonTools() std::vector 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(storeFromVariant(data[name]))); - else - result.emplace_back(fromVariantMap(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(storeFromVariant(data[name]))); + else if (type == ToolsSettings::TOOL_TYPE_MESON) + result.emplace_back(fromVariantMap(storeFromVariant(data[name]))); + else + QTC_CHECK(false); } return result; }