diff --git a/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java b/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java index 2781abeba..c9f5a928b 100644 --- a/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java +++ b/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java @@ -36,9 +36,10 @@ public class CallbackBridge { public static void sendCursorPos(float x, float y) { if (!threadAttached) { + nativeSetUseInputStackQueue(BaseMainActivity.isInputStackCall); threadAttached = CallbackBridge.nativeAttachThreadToOther(true, BaseMainActivity.isInputStackCall); } - + DEBUG_STRING.append("CursorPos=").append(x).append(", ").append(y).append("\n"); mouseX = x; mouseY = y; @@ -198,6 +199,7 @@ public class CallbackBridge { } } + public static native void nativeSetUseInputStackQueue(boolean useInputStackQueue); public static native boolean nativeAttachThreadToOther(boolean isAndroid, boolean isUsePushPoll); private static native boolean nativeSendChar(char codepoint); diff --git a/app_pojavlauncher/src/main/jni/input_bridge_v3.c b/app_pojavlauncher/src/main/jni/input_bridge_v3.c index 55cf5e1ae..14b88c861 100644 --- a/app_pojavlauncher/src/main/jni/input_bridge_v3.c +++ b/app_pojavlauncher/src/main/jni/input_bridge_v3.c @@ -159,14 +159,20 @@ void closeGLFWWindow() { exit(-1); } +JNIEXPORT void JNICALL +Java_org_lwjgl_glfw_CallbackBridge_nativeSetUseInputStackQueue(JNIEnv *env, jclass clazz, + jboolean use_input_stack_queue) { + isUseStackQueueCall = (int) use_input_stack_queue; +} + JNIEXPORT jboolean JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeAttachThreadToOther(JNIEnv* env, jclass clazz, jboolean isAndroid, jboolean isUseStackQueueBool) { #ifdef DEBUG - LOGD("Debug: JNI attaching thread, isUseStackQueue=%d\n", isUseStackQueue); + LOGD("Debug: JNI attaching thread, isUseStackQueue=%d\n", isUseStackQueueBool); #endif jboolean result; - isUseStackQueueCall = (int) isUseStackQueueBool; + //isUseStackQueueCall = (int) isUseStackQueueBool; if (isAndroid) { result = attachThread(true, &runtimeJNIEnvPtr_ANDROID); } else { @@ -256,7 +262,13 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendCursorEnter( } */ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendCursorPos(JNIEnv* env, jclass clazz, jfloat x, jfloat y) { +#ifdef DEBUG + LOGD("Sending cursor position \n"); +#endif if (GLFW_invoke_CursorPos && isInputReady) { +#ifdef DEBUG + LOGD("GLFW_invoke_CursorPos && isInputReady \n"); +#endif if (!isCursorEntered) { if (GLFW_invoke_CursorEnter) { isCursorEntered = true; @@ -380,4 +392,3 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSetWindowAttrib( (jlong) showingWindow, attrib, value ); } -