summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-26 20:52:34 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-26 20:52:34 +0000
commitb00c3894459d08a132a0d4067bf8bdbb854c69b6 (patch)
tree4ce43a01eecb0fbd7d3711a10784bd77a6473033
parent467d94bc0406ef3824f778fadcea39038bd8a716 (diff)
downloadgcc-b00c3894459d08a132a0d4067bf8bdbb854c69b6.tar.gz
2005-04-26 Andrew Haley <aph@redhat.com>
PR libgcj/21020: * jni.cc (_Jv_JNI_GetAnyFieldID): Use class' loader to find field's type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98789 138bc75d-0d04-0410-961f-82ee72b054a4
-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