diff --git a/src/java/org/lwjgl/opengl/ContextGL.java b/src/java/org/lwjgl/opengl/ContextGL.java index d7e273e8..3ab1df2d 100644 --- a/src/java/org/lwjgl/opengl/ContextGL.java +++ b/src/java/org/lwjgl/opengl/ContextGL.java @@ -64,7 +64,7 @@ final class ContextGL implements Context { /** Handle to the native GL rendering context */ private final ByteBuffer handle; - private static PeerInfo peer_info; + private final PeerInfo peer_info; private final ContextAttribs contextAttribs; private final boolean forwardCompatible; @@ -229,7 +229,7 @@ final class ContextGL implements Context { * A video frame period is the time required to display a full frame of video data. */ public static void setSwapInterval(int value) { - implementation.setSwapInterval(peer_info, value); + implementation.setSwapInterval(value); } /** diff --git a/src/java/org/lwjgl/opengl/ContextImplementation.java b/src/java/org/lwjgl/opengl/ContextImplementation.java index 3846cb49..62a828d9 100644 --- a/src/java/org/lwjgl/opengl/ContextImplementation.java +++ b/src/java/org/lwjgl/opengl/ContextImplementation.java @@ -81,7 +81,7 @@ interface ContextImplementation { */ boolean isCurrent(ByteBuffer handle) throws LWJGLException; - void setSwapInterval(PeerInfo peer_info, int value); + void setSwapInterval(int value); /** * Destroys the Context. diff --git a/src/java/org/lwjgl/opengl/LinuxContextImplementation.java b/src/java/org/lwjgl/opengl/LinuxContextImplementation.java index 50913916..0b244fc9 100644 --- a/src/java/org/lwjgl/opengl/LinuxContextImplementation.java +++ b/src/java/org/lwjgl/opengl/LinuxContextImplementation.java @@ -141,8 +141,10 @@ final class LinuxContextImplementation implements ContextImplementation { private static native boolean nIsCurrent(ByteBuffer context_handle) throws LWJGLException; - public void setSwapInterval(PeerInfo peer_info, int value) { + public void setSwapInterval(int value) { ContextGL current_context = ContextGL.getCurrentContext(); + PeerInfo peer_info = current_context.getPeerInfo(); + if ( current_context == null ) throw new IllegalStateException("No context is current"); synchronized ( current_context ) { diff --git a/src/java/org/lwjgl/opengl/MacOSXContextImplementation.java b/src/java/org/lwjgl/opengl/MacOSXContextImplementation.java index 57e8982d..c47d8c87 100644 --- a/src/java/org/lwjgl/opengl/MacOSXContextImplementation.java +++ b/src/java/org/lwjgl/opengl/MacOSXContextImplementation.java @@ -118,7 +118,7 @@ final class MacOSXContextImplementation implements ContextImplementation { private static native boolean nIsCurrent(ByteBuffer context_handle) throws LWJGLException; - public void setSwapInterval(PeerInfo peer_info, int value) { + public void setSwapInterval(int value) { ContextGL current_context = ContextGL.getCurrentContext(); synchronized ( current_context ) { nSetSwapInterval(current_context.getHandle(), value); diff --git a/src/java/org/lwjgl/opengl/WindowsContextImplementation.java b/src/java/org/lwjgl/opengl/WindowsContextImplementation.java index ecd2d007..b81bc5e1 100644 --- a/src/java/org/lwjgl/opengl/WindowsContextImplementation.java +++ b/src/java/org/lwjgl/opengl/WindowsContextImplementation.java @@ -106,7 +106,7 @@ final class WindowsContextImplementation implements ContextImplementation { private static native boolean nIsCurrent(ByteBuffer context_handle) throws LWJGLException; - public void setSwapInterval(PeerInfo peer_info, int value) { + public void setSwapInterval(int value) { boolean success = nSetSwapInterval(value); if ( !success ) LWJGLUtil.log("Failed to set swap interval");