From 2cfa73518bec5ddd871eda284cb0645c27e59ad3 Mon Sep 17 00:00:00 2001 From: Chris M Date: Wed, 5 Apr 2023 23:15:10 +1000 Subject: [PATCH] Fixed vector index crash in KeyboardLayoutManager * Fixed crash when swapping key into the beginning of keymap vector --- KeyboardLayoutManager/KeyboardLayoutManager.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/KeyboardLayoutManager/KeyboardLayoutManager.cpp b/KeyboardLayoutManager/KeyboardLayoutManager.cpp index 23573408..c50c24ba 100644 --- a/KeyboardLayoutManager/KeyboardLayoutManager.cpp +++ b/KeyboardLayoutManager/KeyboardLayoutManager.cpp @@ -614,7 +614,14 @@ void KeyboardLayoutManager::SwapKey(keyboard_led swp_key) if(strlen(swp_name) != 0) { LOG_DEBUG(LOG_MSG_INSERT_BEFORE, KLM_CLASS_NAME, swp_name, keymap[key_idx].name, swp_row, swp_col, KEY_EN_UNUSED); - keymap.insert(keymap.begin() + (key_idx - 1), swp_key); + if(key_idx == 0) + { + keymap.insert(keymap.begin(), swp_key); + } + else + { + keymap.insert(keymap.begin() + (key_idx - 1), swp_key); + } } break; }