diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 96e8eadd..c4977518 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -159,6 +159,14 @@ void CConfigManager::handleMonitor(const std::string& command, const std::string if (curitem == "disable" || curitem == "disabled") { newrule.disabled = true; + // overwrite if exists + for (auto& r : m_dMonitorRules) { + if (r.name == newrule.name) { + r = newrule; + return; + } + } + m_dMonitorRules.push_back(newrule); return; @@ -183,6 +191,14 @@ void CConfigManager::handleMonitor(const std::string& command, const std::string newrule.scale = stof(curitem); + // overwrite if exists + for (auto& r : m_dMonitorRules) { + if (r.name == newrule.name) { + r = newrule; + return; + } + } + m_dMonitorRules.push_back(newrule); }