diff options
Diffstat (limited to 'gl4java/drawable/Win32SunJDK13GLDrawableFactory.java')
-rw-r--r-- | gl4java/drawable/Win32SunJDK13GLDrawableFactory.java | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/gl4java/drawable/Win32SunJDK13GLDrawableFactory.java b/gl4java/drawable/Win32SunJDK13GLDrawableFactory.java index da8fd93..8953ceb 100644 --- a/gl4java/drawable/Win32SunJDK13GLDrawableFactory.java +++ b/gl4java/drawable/Win32SunJDK13GLDrawableFactory.java @@ -5,6 +5,7 @@ import java.lang.reflect.*; import java.util.*;
import sun.awt.*;
import gl4java.*;
+import java.security.*;
public class Win32SunJDK13GLDrawableFactory
extends SunJDK13GLDrawableFactory
@@ -15,16 +16,37 @@ public class Win32SunJDK13GLDrawableFactory static {
try {
- getMaxConfigsMethod =
- sun.awt.Win32GraphicsDevice.class.
- getDeclaredMethod("getMaxConfigs",
- new Class[] { Integer.TYPE });
+ getMaxConfigsMethod = (Method)
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run()
+ {
+ try {
+ return
+ sun.awt.Win32GraphicsDevice.class.
+ getDeclaredMethod("getMaxConfigs",
+ new Class[] { Integer.TYPE });
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new InternalError(e.toString());
+ }
+ }});
+
getMaxConfigsMethod.setAccessible(true);
- getDefaultPixIDMethod =
- sun.awt.Win32GraphicsDevice.class.
- getDeclaredMethod("getDefaultPixID",
- new Class[] { Integer.TYPE });
+ getDefaultPixIDMethod = (Method)
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run()
+ {
+ try {
+ return
+ sun.awt.Win32GraphicsDevice.class.
+ getDeclaredMethod("getDefaultPixID",
+ new Class[] { Integer.TYPE });
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new InternalError(e.toString());
+ }
+ }});
getDefaultPixIDMethod.setAccessible(true);
} catch (Exception e) {
e.printStackTrace();
|