From 88b886f54f497d6d56990af9d1a68daef57ffae3 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Tue, 26 Apr 2005 20:52:34 +0000 Subject: [PATCH] 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 --- libjava/ChangeLog | 6 ++++++ 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 + + 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 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 -- 2.7.4