diff --git a/src/event/Event.cpp b/src/event/Event.cpp index d4ea245..454f11d 100644 --- a/src/event/Event.cpp +++ b/src/event/Event.cpp @@ -55,27 +55,28 @@ int32_t EventIsControlKeyDown() { int32_t EventIsKeyDown(KEY key) { auto hContext = PropGet(PROP_EVENTCONTEXT); auto contextId = *reinterpret_cast(hContext); - int32_t findMask; + int32_t findMask; auto context = TSingletonInstanceId::s_idTable.Ptr( contextId, 0, &findMask ); - if (context) { - auto keystate = IEvtQueueCheckSyncKeyState(context, key); - - if (findMask != -1) { - TSingletonInstanceId::s_idTable.Unlock( - findMask & (INSTANCE_TABLE_SLOT_COUNT - 1), - findMask >= INSTANCE_TABLE_SLOT_COUNT - ); - } - - return keystate; + if (!context) { + return 0; } - return 0; + + auto keystate = IEvtQueueCheckSyncKeyState(context, key); + + if (findMask != -1) { + TSingletonInstanceId::s_idTable.Unlock( + findMask & (INSTANCE_TABLE_SLOT_COUNT - 1), + findMask >= INSTANCE_TABLE_SLOT_COUNT + ); + } + + return keystate; } int32_t EventIsShiftKeyDown() {