From ab4bb1ebcb2c708552594fc1d17350fc495ec605 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Wed, 9 Apr 2008 18:44:25 +0000 Subject: [PATCH] Linux: Moved input focus handling to LinuxDisplay. Bumped Sys.JNI_VERSION --- src/java/org/lwjgl/Sys.java | 2 +- src/java/org/lwjgl/opengl/LinuxDisplay.java | 2 ++ src/java/org/lwjgl/opengl/LinuxMouse.java | 2 -- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/java/org/lwjgl/Sys.java b/src/java/org/lwjgl/Sys.java index 45cf066c..93dd5dcb 100644 --- a/src/java/org/lwjgl/Sys.java +++ b/src/java/org/lwjgl/Sys.java @@ -57,7 +57,7 @@ public final class Sys { private static final String VERSION = "2.0a3"; /** Current version of the JNI library */ - static final int JNI_VERSION = 13; + static final int JNI_VERSION = 15; /** The implementation instance to delegate platform specific behavior to */ private final static SysImplementation implementation; diff --git a/src/java/org/lwjgl/opengl/LinuxDisplay.java b/src/java/org/lwjgl/opengl/LinuxDisplay.java index d6805b82..f9003dad 100644 --- a/src/java/org/lwjgl/opengl/LinuxDisplay.java +++ b/src/java/org/lwjgl/opengl/LinuxDisplay.java @@ -627,6 +627,8 @@ final class LinuxDisplay implements DisplayImplementation { while (LinuxEvent.getPending(getDisplay()) > 0) { event_buffer.nextEvent(getDisplay()); long event_window = event_buffer.getWindow(); + if (event_buffer.getType() == LinuxEvent.ButtonPress && parent != null) + setInputFocus(getDisplay(), getWindow(), event_buffer.getButtonTime()); if (event_window != getWindow() || event_buffer.filterEvent(event_window) || (mouse != null && mouse.filterEvent(grab, shouldWarpPointer(), event_buffer)) || (keyboard != null && keyboard.filterEvent(event_buffer))) diff --git a/src/java/org/lwjgl/opengl/LinuxMouse.java b/src/java/org/lwjgl/opengl/LinuxMouse.java index 716aaf03..2c9b5712 100644 --- a/src/java/org/lwjgl/opengl/LinuxMouse.java +++ b/src/java/org/lwjgl/opengl/LinuxMouse.java @@ -280,8 +280,6 @@ final class LinuxMouse { case LinuxEvent.ButtonPress: /* Fall through */ case LinuxEvent.ButtonRelease: handleButtonEvent(grab, event.getButtonTime(), event.getButtonType(), (byte)event.getButtonButton()); - if (Display.getParent() != null) - LinuxDisplay.setInputFocus(display, window, event.getButtonTime()); return true; case LinuxEvent.MotionNotify: handlePointerMotion(grab, warp_pointer, event.getButtonTime(), event.getButtonRoot(), event.getButtonXRoot(), event.getButtonYRoot(), event.getButtonX(), event.getButtonY());