diff options
| author | Maxime Coste <mawww@kakoune.org> | 2023-05-29 20:10:50 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2023-05-29 20:10:50 +1000 |
| commit | 3069b68245a0bd5451fac33a56097eb7c9351975 (patch) | |
| tree | 311dd526118750ccfe4ba1318b75cdd85e8eaeaa /src/input_handler.cc | |
| parent | 45c01c2109b1c6c1f7728c64f6800c6670425ea5 (diff) | |
| parent | e49c0fb04095a2a1c546fd033ce2a1a6df3eb8d0 (diff) | |
Merge remote-tracking branch 'krobelus/fix-unmap-uaf'
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc index 129a7e03..fb1d9ff6 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -1773,7 +1773,10 @@ void InputHandler::handle_key(Key key) if (keymaps.is_mapped(key, keymap_mode) and not m_context.keymaps_disabled()) { ScopedSetBool disable_history{context().history_disabled()}; - for (auto& k : keymaps.get_mapping(key, keymap_mode).keys) + + auto& mapping = keymaps.get_mapping(key, keymap_mode); + ScopedSetBool executing_mapping{mapping.is_executing}; + for (auto& k : mapping.keys) process_key(k); } else |
