From 7df3e793af32c45a3e0494e6eeb1d5553de1afc7 Mon Sep 17 00:00:00 2001 From: ssimco Date: Fri, 9 Sep 2022 23:17:51 +0300 Subject: [PATCH] Check if raw keycode is out of bounds --- src/gui/CemuApp.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/CemuApp.cpp b/src/gui/CemuApp.cpp index 8563ae2c..9ee49811 100644 --- a/src/gui/CemuApp.cpp +++ b/src/gui/CemuApp.cpp @@ -170,12 +170,16 @@ int CemuApp::FilterEvent(wxEvent& event) { const auto& key_event = (wxKeyEvent&)event; wxGetKeyState(wxKeyCode::WXK_F17); - g_window_info.keydown[fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags())] = true; + uint32 keycode=fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags()); + if(0<=keycode && keycode<256) + g_window_info.keydown[keycode] = true; } else if(event.GetEventType() == wxEVT_KEY_UP) { const auto& key_event = (wxKeyEvent&)event; - g_window_info.keydown[fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags())] = false; + uint32 keycode=fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags()); + if(0<=keycode && keycode<256) + g_window_info.keydown[keycode] = false; } return wxApp::FilterEvent(event);