|
From: <ka...@us...> - 2010-04-16 19:06:59
|
Revision: 3331
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3331&view=rev
Author: kappa1
Date: 2010-04-16 19:06:53 +0000 (Fri, 16 Apr 2010)
Log Message:
-----------
minor tweak to XRandR class to add AccessControllers to remaining methods that need it.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java 2010-04-15 20:38:39 UTC (rev 3330)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java 2010-04-16 19:06:53 UTC (rev 3331)
@@ -119,11 +119,20 @@
* @param screens
* The desired screen set, may not be <code>null</code>
*/
- public static void setConfiguration(Screen[]/* ... */screens) {
+ public static void setConfiguration(final Screen[]/* ... */screens) {
if (screens.length == 0) {
throw new IllegalArgumentException("Must specify at least one screen");
}
-
+
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run() {
+ setScreen(screens);
+ return null;
+ }
+ });
+ }
+
+ private static void setScreen(Screen[] screens) {
List/* <String> */cmd = new ArrayList/* <String> */();
cmd.add("xrandr");
@@ -164,7 +173,6 @@
} catch (IOException e) {
e.printStackTrace();
}
-
}
/**
@@ -172,7 +180,13 @@
* xrandr is not supported
*/
public static String[] getScreenNames() {
- populate();
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run() {
+ populate();
+ return null;
+ }
+ });
+
return (String[]) screens.keySet().toArray(new String[screens.size()]);
}
@@ -182,7 +196,13 @@
* <code>null</code> if there is no such screen
*/
public static Screen[] getResolutions(String name) {
- populate();
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run() {
+ populate();
+ return null;
+ }
+ });
+
// clone the array to prevent held copies being altered
return (Screen[]) ((Screen[]) screens.get(name)).clone();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|