summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/jni.cc4
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