diff --git a/app_pojavlauncher/src/main/jni/input_bridge_v3.c b/app_pojavlauncher/src/main/jni/input_bridge_v3.c index eb0ad2e8c..ef708d250 100644 --- a/app_pojavlauncher/src/main/jni/input_bridge_v3.c +++ b/app_pojavlauncher/src/main/jni/input_bridge_v3.c @@ -104,6 +104,13 @@ void pojavPumpEvents(void* window) { // by spec, they will be called on the same thread so no synchronization here pojav_environ->isPumpingEvents = true; + if((pojav_environ->cLastX != pojav_environ->cursorX || pojav_environ->cLastY != pojav_environ->cursorY) && pojav_environ->GLFW_invoke_CursorPos) { + pojav_environ->cLastX = pojav_environ->cursorX; + pojav_environ->cLastY = pojav_environ->cursorY; + pojav_environ->GLFW_invoke_CursorPos(window, floor(pojav_environ->cursorX), + floor(pojav_environ->cursorY)); + } + size_t index = pojav_environ->outEventIndex; size_t targetIndex = pojav_environ->outTargetIndex; @@ -139,12 +146,6 @@ void pojavPumpEvents(void* window) { if (index >= EVENT_WINDOW_SIZE) index -= EVENT_WINDOW_SIZE; } - if((pojav_environ->cLastX != pojav_environ->cursorX || pojav_environ->cLastY != pojav_environ->cursorY) && pojav_environ->GLFW_invoke_CursorPos) { - pojav_environ->cLastX = pojav_environ->cursorX; - pojav_environ->cLastY = pojav_environ->cursorY; - pojav_environ->GLFW_invoke_CursorPos(window, floor(pojav_environ->cursorX), - floor(pojav_environ->cursorY)); - } // The out target index is updated by the rewinder pojav_environ->isPumpingEvents = false;