Index: java/util/ResourceBundle.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/util/ResourceBundle.java,v retrieving revision 1.18 diff -u -r1.18 ResourceBundle.java --- java/util/ResourceBundle.java 23 Sep 2002 17:56:16 -0000 1.18 +++ java/util/ResourceBundle.java 25 Nov 2002 20:58:06 -0000 @@ -105,6 +105,18 @@ */ private Locale locale; + private static Class resourceBundleClass; + private static Class securityClass; + + static { + try { + resourceBundleClass = Class.forName("java.util.ResourceBundle"); + securityClass = Class.forName("java.util.ResourceBundle$Security"); + } catch (ClassNotFoundException e) { + + } + } + /** * We override SecurityManager in order to access getClassContext(). */ @@ -124,9 +136,11 @@ ClassLoader getCallingClassLoader() { Class[] stack = getClassContext(); - for (int i = 0; i < stack.length; i++) - if (stack[i] != Security.class && stack[i] != ResourceBundle.class) + for (int i = 0; i < stack.length; i++) { + if (stack[i] != securityClass && stack[i] != resourceBundleClass) return stack[i].getClassLoader(); + } + return null; } } @@ -215,8 +229,8 @@ catch (MissingResourceException ex) { } - throw new MissingResourceException("Key not found", - getClass().getName(), key); + + throw new MissingResourceException("Key not found", getClass().getName(), key); } /** @@ -497,6 +511,7 @@ catch (Exception ex) { // ignore them all + foundBundle = null; } if (foundBundle == null) {