From b7c612bd54cd1b1a9e8285f736f41c8a9dc4a2e2 Mon Sep 17 00:00:00 2001 From: Tomasz Chabora Date: Tue, 3 Nov 2020 11:22:15 +0100 Subject: [PATCH] Release pressed action if event is removed --- core/input/input_map.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/input/input_map.cpp b/core/input/input_map.cpp index ba1de3c58d6..a4160483679 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>::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); + } } }