src/share/classes/java/util/TimeZone.java

Print this page

        

@@ -726,24 +726,25 @@
      * This works around a build time issue.
      */
     private static TimeZone getDefaultInAppContext() {
         // JavaAWTAccess provides access implementation-private methods without using reflection.
         JavaAWTAccess javaAWTAccess = SharedSecrets.getJavaAWTAccess();
-        if (javaAWTAccess == null) {
-            return mainAppContextDefault;
-        } else {
+        if (System.getSecurityManager() != null && javaAWTAccess != null) {
             if (!javaAWTAccess.isDisposed()) {
                 TimeZone tz = (TimeZone)
                     javaAWTAccess.get(TimeZone.class);
                 if (tz == null && javaAWTAccess.isMainAppContext()) {
                     return mainAppContextDefault;
                 } else {
                     return tz;
                 }
+            } else {
+                return null;
             }
+        } else {
+            return mainAppContextDefault;
         }
-        return null;
     }
 
     /**
      * Sets the default TimeZone in the AppContext to the given
      * tz. null is handled special: do nothing if any AppContext

@@ -756,19 +757,19 @@
      * This works around a build time issue.
      */
     private static void setDefaultInAppContext(TimeZone tz) {
         // JavaAWTAccess provides access implementation-private methods without using reflection.
         JavaAWTAccess javaAWTAccess = SharedSecrets.getJavaAWTAccess();
-        if (javaAWTAccess == null) {
-            mainAppContextDefault = tz;
-        } else {
+        if (System.getSecurityManager() != null && javaAWTAccess != null) {
             if (!javaAWTAccess.isDisposed()) {
                 javaAWTAccess.put(TimeZone.class, tz);
                 if (javaAWTAccess.isMainAppContext()) {
                     mainAppContextDefault = null;
                 }
             }
+        } else {
+            mainAppContextDefault = tz;
         }
     }
 
     /**
      * Returns true if this zone has the same rule and offset as another zone.