diff options
author | Andrew Haley <aph@redhat.com> | 2005-04-26 20:52:34 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-04-26 20:52:34 +0000 |
commit | 88b886f54f497d6d56990af9d1a68daef57ffae3 (patch) | |
tree | 4ce43a01eecb0fbd7d3711a10784bd77a6473033 /libjava | |
parent | 9adcdfb36597a9aeee255166550511aff2f5da73 (diff) | |
download | gcc-88b886f54f497d6d56990af9d1a68daef57ffae3.zip gcc-88b886f54f497d6d56990af9d1a68daef57ffae3.tar.gz gcc-88b886f54f497d6d56990af9d1a68daef57ffae3.tar.bz2 |
re PR libgcj/21020 (java.lang.NoSuchFieldError regression from earlier 4.0.0 snapshot)
2005-04-26 Andrew Haley <aph@redhat.com>
PR libgcj/21020:
* jni.cc (_Jv_JNI_GetAnyFieldID): Use class' loader to find
field's type.
From-SVN: r98789
Diffstat (limited to 'libjava')
-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 d32eb9e..c0868e5 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 cf4d047..a54aea9 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 |