You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2008/03/10 23:32:15 UTC

svn commit: r635734 - /harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/GraphicsEnvironment.java

Author: apavlenko
Date: Mon Mar 10 15:32:05 2008
New Revision: 635734

URL: http://svn.apache.org/viewvc?rev=635734&view=rev
Log:
The property java.awt.headless should be read in a privileged mode

Modified:
    harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/GraphicsEnvironment.java

Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/GraphicsEnvironment.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/GraphicsEnvironment.java?rev=635734&r1=635733&r2=635734&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/GraphicsEnvironment.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/GraphicsEnvironment.java Mon Mar 10 15:32:05 2008
@@ -22,6 +22,8 @@
 package java.awt;
 
 import java.awt.image.BufferedImage;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.Locale;
 
 import org.apache.harmony.awt.ContextStorage;
@@ -29,6 +31,9 @@
 
 
 public abstract class GraphicsEnvironment {
+
+    static Boolean isHeadless;
+
     protected GraphicsEnvironment() {}
 
     public static GraphicsEnvironment getLocalGraphicsEnvironment() {
@@ -55,7 +60,15 @@
     }
 
     public static boolean isHeadless() {
-        return "true".equals(System.getProperty("java.awt.headless"));
+        if (isHeadless == null) {
+            isHeadless = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
+                public Boolean run() {
+                    return "true".equals(System.getProperty("java.awt.headless")); //$NON-NLS-1$ //$NON-NLS-2$
+                }
+            });
+        }
+        
+        return isHeadless.booleanValue();
     }
 
     public Rectangle getMaximumWindowBounds() throws HeadlessException {