Răsfoiți Sursa

Merge pull request #43289 from KoBeWi/removelease_action

Release pressed action if event is removed
Rémi Verschelde 4 ani în urmă
părinte
comite
a6150eb267
1 a modificat fișierele cu 4 adăugiri și 0 ștergeri
  1. 4 0
      core/input/input_map.cpp

+ 4 - 0
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);
+		}
 	}
 }