Duplicate es_systems.xml command label entries are now ignored on application startup

This commit is contained in:
Leon Styhre 2023-10-10 17:21:10 +02:00
parent 8efc5e9f22
commit cd3f56af77

View file

@ -682,9 +682,22 @@ bool SystemData::loadConfig()
<< name << "\"";
break;
}
// Skip any duplicate entries (i.e. those with identical labels).
bool duplicateLabel {false};
for (auto& command : commands) {
if (command.second == entry.attribute("label").as_string()) {
LOG(LogError)
<< "Duplicate command label \"" << entry.attribute("label").as_string()
<< "\" defined for system \"" << name << "\", ignoring entry";
duplicateLabel = true;
break;
}
}
if (!duplicateLabel) {
commands.emplace_back(
std::make_pair(entry.text().get(), entry.attribute("label").as_string()));
}
}
// Platform ID list
const std::string& platformList {