Merge pull request #9034 from OsirizX/uwp

UWP: CoreWindow NULL check
This commit is contained in:
Twinaphex 2019-06-29 12:14:38 +02:00 committed by GitHub
commit d1afc8c49b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)