mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 07:59:42 +00:00
UWP: CoreWindow NULL check
We need to make sure CoreWindow isn't NULL before checking key states otherwise access violation will occur and cause the app to crash. This commit fixes running Dolphin core in particular and tested on both desktop UWP and Xbox One.
This commit is contained in:
parent
550ea0f143
commit
ba69056361
@ -574,7 +574,14 @@ extern "C" {
|
||||
bool uwp_keyboard_pressed(unsigned key)
|
||||
{
|
||||
unsigned sym = rarch_keysym_lut[(enum retro_key)key];
|
||||
return (CoreWindow::GetForCurrentThread()->GetKeyState((VirtualKey)sym) & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down;
|
||||
CoreWindow^ window = CoreWindow::GetForCurrentThread();
|
||||
if (!window)
|
||||
{
|
||||
// At times CoreWindow will return NULL while running Dolphin core
|
||||
// Dolphin core runs on its own CPU thread separate from the UI-thread and so we must do a check for this.
|
||||
return false;
|
||||
}
|
||||
return (window->GetKeyState((VirtualKey)sym) & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down;
|
||||
}
|
||||
|
||||
int16_t uwp_mouse_state(unsigned port, unsigned id, bool screen)
|
||||
|
Loading…
Reference in New Issue
Block a user