From 5b23ba3faf36c0aebe5de58a3a5decb2b600d779 Mon Sep 17 00:00:00 2001 From: Petr Mikheev Date: Wed, 2 Feb 2022 00:20:32 +0100 Subject: [PATCH] Fix `defaulted` in ConfigurationManager::mergeComposingVariables --- components/files/configurationmanager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/files/configurationmanager.cpp b/components/files/configurationmanager.cpp index 4101c4ef54..4ffd9013b7 100644 --- a/components/files/configurationmanager.cpp +++ b/components/files/configurationmanager.cpp @@ -187,7 +187,7 @@ void mergeComposingVariables(boost::program_options::variables_map& first, boost if (description.find_nothrow("replace", false)) { auto replace = second["replace"]; - if (!replace.empty()) + if (!replace.defaulted() && !replace.empty()) { std::vector replaceVector = replace.as>(); replacedVariables.insert(replaceVector.begin(), replaceVector.end()); @@ -206,13 +206,13 @@ void mergeComposingVariables(boost::program_options::variables_map& first, boost continue; } - if (replacedVariables.count(name)) + if (replacedVariables.count(name) || firstPosition->second.defaulted() || firstPosition->second.empty()) { firstPosition->second = second[name]; continue; } - if (second[name].empty()) + if (second[name].defaulted() || second[name].empty()) continue; boost::any& firstValue = firstPosition->second.value();