diff options
Diffstat (limited to 'main')
| -rw-r--r-- | main/input_default.cpp | 13 | ||||
| -rw-r--r-- | main/input_default.h | 1 | ||||
| -rw-r--r-- | main/performance.cpp | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/main/input_default.cpp b/main/input_default.cpp index 6c3252ad1a..a939d77a1e 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -677,6 +677,19 @@ void InputDefault::set_use_accumulated_input(bool p_enable) { use_accumulated_input = p_enable; } +void InputDefault::release_pressed_events() { + + flush_accumulated_events(); // this is needed to release actions strengths + + keys_pressed.clear(); + joy_buttons_pressed.clear(); + _joy_axis.clear(); + + for (Map<StringName, InputDefault::Action>::Element *E = action_state.front(); E; E = E->next()) { + action_release(E->key()); + } +} + InputDefault::InputDefault() { use_accumulated_input = true; diff --git a/main/input_default.h b/main/input_default.h index f9b4cbbd57..80ee17656c 100644 --- a/main/input_default.h +++ b/main/input_default.h @@ -272,6 +272,7 @@ public: virtual void flush_accumulated_events(); virtual void set_use_accumulated_input(bool p_enable); + virtual void release_pressed_events(); InputDefault(); }; diff --git a/main/performance.cpp b/main/performance.cpp index 6618451894..71cd94aeab 100644 --- a/main/performance.cpp +++ b/main/performance.cpp @@ -188,6 +188,7 @@ Performance::MonitorType Performance::get_monitor_type(Monitor p_monitor) const MONITOR_TYPE_QUANTITY, MONITOR_TYPE_QUANTITY, MONITOR_TYPE_QUANTITY, + MONITOR_TYPE_QUANTITY, MONITOR_TYPE_MEMORY, MONITOR_TYPE_MEMORY, MONITOR_TYPE_MEMORY, |