summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index d76a1800..215d71c0 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -180,6 +180,8 @@ void CConfigManager::configSetValueSafe(const std::string& COMMAND, const std::s
CONFIGENTRY = &configValues.at(COMMAND);
}
+ CONFIGENTRY->set = true;
+
if (CONFIGENTRY->intValue != -1) {
try {
if (VALUE.find("0x") == 0) {
@@ -910,6 +912,15 @@ SConfigValue CConfigManager::getConfigValueSafeDevice(const std::string& dev, co
SConfigValue copy = it->second[val];
+ // fallback if not set explicitly
+ if (!copy.set) {
+ for (auto& cv : configValues) {
+ if (cv.first.find(val) == cv.first.length() - val.length()) {
+ copy = cv.second;
+ }
+ }
+ }
+
return copy;
}