From 0e6d20e1e4bb58f6d8dbe379e3911b8d384febdb Mon Sep 17 00:00:00 2001 From: kappa1 Date: Mon, 16 Jan 2012 22:18:31 +0000 Subject: [PATCH] Add extra checks so CALayer's only run on OS X 10.6+, Bump OS X native version --- src/java/org/lwjgl/MacOSXSysImplementation.java | 2 +- src/java/org/lwjgl/opengl/AWTSurfaceLock.java | 2 +- src/java/org/lwjgl/opengl/MacOSXCanvasPeerInfo.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/java/org/lwjgl/MacOSXSysImplementation.java b/src/java/org/lwjgl/MacOSXSysImplementation.java index 6c18aac7..54506609 100644 --- a/src/java/org/lwjgl/MacOSXSysImplementation.java +++ b/src/java/org/lwjgl/MacOSXSysImplementation.java @@ -42,7 +42,7 @@ import com.apple.eio.FileManager; * $Id$ */ final class MacOSXSysImplementation extends J2SESysImplementation { - private static final int JNI_VERSION = 22; + private static final int JNI_VERSION = 23; static { // Make sure AWT is properly initialized. This avoids hangs on Mac OS X 10.3 diff --git a/src/java/org/lwjgl/opengl/AWTSurfaceLock.java b/src/java/org/lwjgl/opengl/AWTSurfaceLock.java index e95bca49..a428115f 100644 --- a/src/java/org/lwjgl/opengl/AWTSurfaceLock.java +++ b/src/java/org/lwjgl/opengl/AWTSurfaceLock.java @@ -83,7 +83,7 @@ final class AWTSurfaceLock { // due to performance.. // Allow the use of a Core Animation Layer only when using non fullscreen Display.setParent() or AWTGLCanvas - final boolean allowCALayer = ((Display.getParent() != null && !Display.isFullscreen()) || component instanceof AWTGLCanvas) && isApplet(component); + final boolean allowCALayer = ((Display.getParent() != null && !Display.isFullscreen()) || component instanceof AWTGLCanvas) && isApplet(component) && LWJGLUtil.isMacOSXEqualsOrBetterThan(10, 6); if (firstLockSucceeded) return lockAndInitHandle(lock_buffer, component, allowCALayer); diff --git a/src/java/org/lwjgl/opengl/MacOSXCanvasPeerInfo.java b/src/java/org/lwjgl/opengl/MacOSXCanvasPeerInfo.java index d5fb0f6a..3ebf4502 100644 --- a/src/java/org/lwjgl/opengl/MacOSXCanvasPeerInfo.java +++ b/src/java/org/lwjgl/opengl/MacOSXCanvasPeerInfo.java @@ -35,6 +35,7 @@ import java.awt.Canvas; import java.nio.ByteBuffer; import org.lwjgl.LWJGLException; +import org.lwjgl.LWJGLUtil; /** * @@ -51,7 +52,7 @@ abstract class MacOSXCanvasPeerInfo extends MacOSXPeerInfo { protected void initHandle(Canvas component) throws LWJGLException { // Allow the use of a Core Animation Layer only when using non fullscreen Display.setParent() or AWTGLCanvas - final boolean allowCALayer = ((Display.getParent() != null && !Display.isFullscreen()) || component instanceof AWTGLCanvas) && awt_surface.isApplet(component); + final boolean allowCALayer = ((Display.getParent() != null && !Display.isFullscreen()) || component instanceof AWTGLCanvas) && awt_surface.isApplet(component) && LWJGLUtil.isMacOSXEqualsOrBetterThan(10, 6); nInitHandle(awt_surface.lockAndGetHandle(component), getHandle(), allowCALayer); }