diff --git a/src/lib/deskflow/KeyMap.cpp b/src/lib/deskflow/KeyMap.cpp index e65286b5c..39551ee8e 100644 --- a/src/lib/deskflow/KeyMap.cpp +++ b/src/lib/deskflow/KeyMap.cpp @@ -210,14 +210,13 @@ void KeyMap::finish() void KeyMap::foreachKey(ForeachKeyCallback cb, void *userData) { - for (const auto &[keyId, keyGroup] : m_keyIDMap) { - const KeyGroupTable &groupTable = keyGroup; - for (size_t group = 0; group < groupTable.size(); ++group) { - const KeyEntryList &entryList = groupTable.at(group); + for (auto &[keyId, keyGroup] : m_keyIDMap) { + for (size_t group = 0; group < keyGroup.size(); ++group) { + KeyEntryList &entryList = keyGroup.at(group); for (auto &entry : entryList) { - const KeyItemList &itemList = entry; - for (auto item : itemList) { - (*cb)(keyId, static_cast(group), item, userData); + KeyItemList &itemList = entry; + for (size_t k = 0; k < itemList.size(); ++k) { + (*cb)(keyId, static_cast(group), itemList.at(k), userData); } } }