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

Print this page

        

@@ -726,16 +726,17 @@
      * 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) {
+        if (System.getSecurityManager() == null || javaAWTAccess == null) {
             return mainAppContextDefault;
+        } else if (javaAWTAccess != null) {
+            if (javaAWTAccess.isDisposed()) {
+                return null;
         } else {
-            if (!javaAWTAccess.isDisposed()) {
-                TimeZone tz = (TimeZone)
-                    javaAWTAccess.get(TimeZone.class);
+                TimeZone tz = (TimeZone) javaAWTAccess.get(TimeZone.class);
                 if (tz == null && javaAWTAccess.isMainAppContext()) {
                     return mainAppContextDefault;
                 } else {
                     return tz;
                 }

@@ -756,20 +757,18 @@
      * 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) {
+        if (System.getSecurityManager() == null || javaAWTAccess == null) {
             mainAppContextDefault = tz;
-        } else {
-            if (!javaAWTAccess.isDisposed()) {
+        } else if (javaAWTAccess != null && !javaAWTAccess.isDisposed()) {
                 javaAWTAccess.put(TimeZone.class, tz);
                 if (javaAWTAccess.isMainAppContext()) {
                     mainAppContextDefault = null;
                 }
             }
-        }
     }
 
     /**
      * Returns true if this zone has the same rule and offset as another zone.
      * That is, if this zone differs only in ID, if at all.  Returns false