diff options
author | Tomasz Chabora <kobewi4e@gmail.com> | 2020-11-03 11:22:15 +0100 |
---|---|---|
committer | Tomasz Chabora <kobewi4e@gmail.com> | 2020-11-12 16:54:16 +0100 |
commit | b7c612bd54cd1b1a9e8285f736f41c8a9dc4a2e2 (patch) | |
tree | 6eba5786c7fee4465396745cb203d859f86e68f4 | |
parent | f73374629dd57d3eea6a960859ca223fa2d95fc4 (diff) |
Release pressed action if event is removed
-rw-r--r-- | core/input/input_map.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/input/input_map.cpp b/core/input/input_map.cpp index ba1de3c58d..a416048367 100644 --- a/core/input/input_map.cpp +++ b/core/input/input_map.cpp @@ -31,6 +31,7 @@ #include "input_map.h" #include "core/config/project_settings.h" +#include "core/input/input.h" #include "core/os/keyboard.h" InputMap *InputMap::singleton = nullptr; @@ -145,6 +146,9 @@ void InputMap::action_erase_event(const StringName &p_action, const Ref<InputEve List<Ref<InputEvent>>::Element *E = _find_event(input_map[p_action], p_event); if (E) { input_map[p_action].inputs.erase(E); + if (Input::get_singleton()->is_action_pressed(p_action)) { + Input::get_singleton()->action_release(p_action); + } } } |