diff options
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/jni.cc | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d32eb9e2d0a..c0868e5e741 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2005-04-26 Andrew Haley <aph@redhat.com> + + PR libgcj/21020: + * jni.cc (_Jv_JNI_GetAnyFieldID): Use class' loader to find + field's type. + 2005-04-26 Tom Tromey <tromey@redhat.com> * javax/swing/text/html/parser/ParserDelegator.java (callBack, diff --git a/libjava/jni.cc b/libjava/jni.cc index cf4d0475044..a54aea949ff 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -1200,11 +1200,11 @@ _Jv_JNI_GetAnyFieldID (JNIEnv *env, jclass clazz, char s[len + 1]; for (int i = 0; i <= len; ++i) s[i] = (sig[i] == '/') ? '.' : sig[i]; - jclass field_class = _Jv_FindClassFromSignature ((char *) s, NULL); + java::lang::ClassLoader *loader = clazz->getClassLoaderInternal (); + jclass field_class = _Jv_FindClassFromSignature ((char *) s, loader); if (! field_class) throw new java::lang::ClassNotFoundException(JvNewStringUTF(s)); - java::lang::ClassLoader *loader = clazz->getClassLoaderInternal (); while (clazz != NULL) { // We acquire the class lock so that fields aren't resolved |