From: Andrew Haley Date: Tue, 26 Apr 2005 20:52:34 +0000 (+0000) Subject: re PR libgcj/21020 (java.lang.NoSuchFieldError regression from earlier 4.0.0 snapshot) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=88b886f54f497d6d56990af9d1a68daef57ffae3;p=gcc.git re PR libgcj/21020 (java.lang.NoSuchFieldError regression from earlier 4.0.0 snapshot) 2005-04-26 Andrew Haley PR libgcj/21020: * jni.cc (_Jv_JNI_GetAnyFieldID): Use class' loader to find field's type. From-SVN: r98789 --- 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 + + PR libgcj/21020: + * jni.cc (_Jv_JNI_GetAnyFieldID): Use class' loader to find + field's type. + 2005-04-26 Tom Tromey * 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