aboutsummaryrefslogtreecommitdiffstats
path: root/src/nativewindow/classes/jogamp
diff options
context:
space:
mode:
Diffstat (limited to 'src/nativewindow/classes/jogamp')
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/BcmVCArtifacts.java5
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/Debug.java4
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java4
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java4
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java36
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java4
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java4
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java4
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java4
9 files changed, 36 insertions, 33 deletions
diff --git a/src/nativewindow/classes/jogamp/nativewindow/BcmVCArtifacts.java b/src/nativewindow/classes/jogamp/nativewindow/BcmVCArtifacts.java
index 0fc0665bc..a6be62e4e 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/BcmVCArtifacts.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/BcmVCArtifacts.java
@@ -29,9 +29,10 @@
package jogamp.nativewindow;
import java.io.File;
-import java.security.AccessController;
import java.security.PrivilegedAction;
+import com.jogamp.common.util.SecurityUtil;
+
/**
* Heuristics about Broadcom (BCM) VideoCore (VC) existence and usage
*/
@@ -48,7 +49,7 @@ public class BcmVCArtifacts {
final File driCard0Location = new File(
"/dev/dri/card0");
final boolean[] res = new boolean [3];
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
res[0] = vcLibLocation.isFile();
diff --git a/src/nativewindow/classes/jogamp/nativewindow/Debug.java b/src/nativewindow/classes/jogamp/nativewindow/Debug.java
index 8d8fd0667..9ccb5b3a5 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/Debug.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/Debug.java
@@ -28,10 +28,10 @@
package jogamp.nativewindow;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import com.jogamp.common.util.PropertyAccess;
+import com.jogamp.common.util.SecurityUtil;
/** Helper routines for logging and debugging. */
@@ -41,7 +41,7 @@ public class Debug extends PropertyAccess {
private static final boolean debugAll;
static {
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
PropertyAccess.addTrustedPrefix("nativewindow.");
diff --git a/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java b/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java
index 1284974bf..7d530dda6 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java
@@ -29,16 +29,16 @@
package jogamp.nativewindow;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import com.jogamp.common.jvm.JNILibLoaderBase;
import com.jogamp.common.os.Platform;
+import com.jogamp.common.util.SecurityUtil;
import com.jogamp.common.util.cache.TempJarCache;
public class NWJNILibLoader extends JNILibLoaderBase {
public static boolean loadNativeWindow(final String ossuffix) {
- return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
+ return SecurityUtil.doPrivileged(new PrivilegedAction<Boolean>() {
@Override
public Boolean run() {
Platform.initSingleton();
diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java
index fe83ebc76..04585e4ca 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java
@@ -39,17 +39,17 @@
package jogamp.nativewindow.jawt;
+import com.jogamp.common.util.SecurityUtil;
import com.jogamp.nativewindow.NativeWindowFactory;
import jogamp.nativewindow.NWJNILibLoader;
import java.awt.Toolkit;
-import java.security.AccessController;
import java.security.PrivilegedAction;
public class JAWTJNILibLoader extends NWJNILibLoader {
static {
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
// Make sure that awt.dll is loaded before loading jawt.dll. Otherwise
diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java
index f4e55cd47..a28ed8235 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java
@@ -45,7 +45,6 @@ import java.awt.Toolkit;
import java.awt.geom.AffineTransform;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Map;
@@ -67,6 +66,7 @@ import jogamp.nativewindow.x11.X11Lib;
import com.jogamp.common.ExceptionUtils;
import com.jogamp.common.os.Platform;
import com.jogamp.common.util.PropertyAccess;
+import com.jogamp.common.util.SecurityUtil;
import com.jogamp.common.util.UnsafeUtil;
import com.jogamp.common.util.VersionNumber;
import com.jogamp.common.util.locks.LockFactory;
@@ -80,11 +80,10 @@ public class JAWTUtil {
/** OSX JAWT version option to use CALayer */
public static final int JAWT_MACOSX_USE_CALAYER = 0x80000000;
- /** OSX JAWT CALayer availability on Mac OS X >= 10.6 Update 4 (recommended) */
- public static final VersionNumber JAWT_MacOSXCALayerMinVersion = new VersionNumber(10,6,4);
-
/** OSX JAWT CALayer required with Java >= 1.7.0 (implies OS X >= 10.7 */
- public static final VersionNumber JAWT_MacOSXCALayerRequiredForJavaVersion = Platform.Version17;
+ private static final int MacOS_JVM_1_7_COMPARE;
+ /** OSX JAWT CALayer availability on Mac OS X >= 10.6 Update 4 (recommended) */
+ private static final int MacOS_10_6_4_COMPARE;
// See whether we're running in headless mode
private static final boolean headlessMode;
@@ -125,16 +124,14 @@ public class JAWTUtil {
* Returns true if this platform's JAWT implementation supports offscreen layer.
*/
public static boolean isOffscreenLayerSupported() {
- return PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS &&
- PlatformPropsImpl.OS_VERSION_NUMBER.compareTo(JAWTUtil.JAWT_MacOSXCALayerMinVersion) >= 0;
+ return PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS && MacOS_10_6_4_COMPARE >= 0;
}
/**
* Returns true if this platform's JAWT implementation requires using offscreen layer.
*/
public static boolean isOffscreenLayerRequired() {
- return PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS &&
- PlatformPropsImpl.JAVA_VERSION_NUMBER.compareTo(JAWT_MacOSXCALayerRequiredForJavaVersion)>=0;
+ return PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS && MacOS_JVM_1_7_COMPARE >= 0;
}
/**
@@ -238,14 +235,11 @@ public class JAWTUtil {
*/
public static int getOSXCALayerQuirks() {
int res = 0;
- if( PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS &&
- PlatformPropsImpl.OS_VERSION_NUMBER.compareTo(JAWTUtil.JAWT_MacOSXCALayerMinVersion) >= 0 ) {
-
+ if( PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS && MacOS_10_6_4_COMPARE >= 0 ) {
/** Knowing impl. all expose the SIZE bug */
res |= JAWT_OSX_CALAYER_QUIRK_SIZE;
- final int c = PlatformPropsImpl.JAVA_VERSION_NUMBER.compareTo(PlatformPropsImpl.Version17);
- if( c < 0 || c == 0 && PlatformPropsImpl.JAVA_VERSION_UPDATE < 40 ) {
+ if( MacOS_JVM_1_7_COMPARE < 0 || MacOS_JVM_1_7_COMPARE == 0 && PlatformPropsImpl.JAVA_VERSION_UPDATE < 40 ) {
res |= JAWT_OSX_CALAYER_QUIRK_POSITION;
} else {
res |= JAWT_OSX_CALAYER_QUIRK_LAYOUT;
@@ -269,7 +263,7 @@ public class JAWTUtil {
if(isOffscreenLayerRequired()) {
if(PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS) {
- if(PlatformPropsImpl.OS_VERSION_NUMBER.compareTo(JAWTUtil.JAWT_MacOSXCALayerMinVersion) >= 0) {
+ if(MacOS_10_6_4_COMPARE >= 0) {
jawt_version_flags_offscreen |= JAWTUtil.JAWT_MACOSX_USE_CALAYER;
tryOffscreenLayer = true;
tryOnscreen = false;
@@ -326,6 +320,14 @@ public class JAWTUtil {
// Thread.dumpStack();
}
+ if( PlatformPropsImpl.OS_TYPE == Platform.OSType.MACOS ) {
+ MacOS_JVM_1_7_COMPARE = PlatformPropsImpl.JAVA_VERSION_NUMBER.compareTo(new VersionNumber(1, 7, 0));
+ MacOS_10_6_4_COMPARE = PlatformPropsImpl.OS_VERSION_NUMBER.compareTo(new VersionNumber(10,6,4));
+ } else {
+ MacOS_JVM_1_7_COMPARE = -1;
+ MacOS_10_6_4_COMPARE = -1;
+ }
+
headlessMode = GraphicsEnvironment.isHeadless();
if( headlessMode ) {
@@ -362,7 +364,7 @@ public class JAWTUtil {
// Always enforce using sun.awt.SunToolkit's awtLock even on JVM >= Java_9,
// as we have no other official means to synchronize native UI locks especially for X11
{
- final SunToolkitData std = AccessController.doPrivileged(new PrivilegedAction<SunToolkitData>() {
+ final SunToolkitData std = SecurityUtil.doPrivileged(new PrivilegedAction<SunToolkitData>() {
@Override
public SunToolkitData run() {
return UnsafeUtil.doWithoutIllegalAccessLogger(new PrivilegedAction<SunToolkitData>() {
@@ -407,7 +409,7 @@ public class JAWTUtil {
gdGetScaleFactorMID = null;
gdGetCGDisplayIDMIDOnOSX = null;
} else {
- final GraphicsDeviceData gdd = (GraphicsDeviceData) AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ final GraphicsDeviceData gdd = (GraphicsDeviceData) SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
final GraphicsDeviceData d = new GraphicsDeviceData();
diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java
index f67cc7189..4e89709f2 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java
@@ -43,7 +43,6 @@ package jogamp.nativewindow.jawt.macosx;
import java.awt.Component;
import java.awt.GraphicsConfiguration;
import java.nio.Buffer;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import com.jogamp.nativewindow.AbstractGraphicsConfiguration;
@@ -54,6 +53,7 @@ import com.jogamp.nativewindow.MutableSurface;
import com.jogamp.nativewindow.util.Point;
import com.jogamp.common.util.PropertyAccess;
+import com.jogamp.common.util.SecurityUtil;
import com.jogamp.nativewindow.awt.JAWTWindow;
import jogamp.nativewindow.Debug;
@@ -272,7 +272,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface {
ret = NativeSurface.LOCK_SURFACE_CHANGED;
}
if (firstLock) {
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
dsi = ds.GetDrawingSurfaceInfo();
diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java
index 55aaf90d2..54f34375d 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java
@@ -44,10 +44,10 @@ import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.lang.reflect.Method;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import com.jogamp.common.ExceptionUtils;
+import com.jogamp.common.util.SecurityUtil;
import com.jogamp.common.util.UnsafeUtil;
import com.jogamp.nativewindow.AbstractGraphicsConfiguration;
@@ -68,7 +68,7 @@ public class Win32SunJDKReflection {
private static boolean initialized;
static {
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
return UnsafeUtil.doWithoutIllegalAccessLogger(new PrivilegedAction<Object>() {
diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java
index d86704c07..497d901f5 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java
@@ -44,10 +44,10 @@ import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.lang.reflect.Method;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import com.jogamp.common.ExceptionUtils;
+import com.jogamp.common.util.SecurityUtil;
import com.jogamp.common.util.UnsafeUtil;
import com.jogamp.nativewindow.AbstractGraphicsConfiguration;
@@ -67,7 +67,7 @@ public class X11SunJDKReflection {
private static boolean initialized;
static {
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ SecurityUtil.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
return UnsafeUtil.doWithoutIllegalAccessLogger(new PrivilegedAction<Object>() {
diff --git a/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java b/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java
index e06a68953..10a3a602f 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java
@@ -32,7 +32,6 @@ import com.jogamp.nativewindow.NativeWindowFactory;
import com.jogamp.nativewindow.util.Insets;
import com.jogamp.nativewindow.util.Point;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import com.jogamp.common.ExceptionUtils;
@@ -41,6 +40,7 @@ import com.jogamp.common.util.Function;
import com.jogamp.common.util.FunctionTask;
import com.jogamp.common.util.InterruptedRuntimeException;
import com.jogamp.common.util.RunnableTask;
+import com.jogamp.common.util.SecurityUtil;
import jogamp.nativewindow.Debug;
import jogamp.nativewindow.NWJNILibLoader;
@@ -70,7 +70,7 @@ public class OSXUtil implements ToolkitProperties {
}
if( useMainThreadChecker ) {
final String libMainThreadChecker = "/Applications/Xcode.app/Contents/Developer/usr/lib/libMainThreadChecker.dylib";
- final NativeLibrary lib = AccessController.doPrivileged(new PrivilegedAction<NativeLibrary>() {
+ final NativeLibrary lib = SecurityUtil.doPrivileged(new PrivilegedAction<NativeLibrary>() {
@Override
public NativeLibrary run() {
return NativeLibrary.open(libMainThreadChecker, false, false, OSXUtil.class.getClassLoader(), true);