aboutsummaryrefslogtreecommitdiff
path: root/libjava/jni.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-04-20 05:49:48 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-04-20 05:49:48 +0000
commitaf98124ef9a698e8b82e4e794fd421ea0ccb3054 (patch)
tree28cabe5367d6c64b2d9309b330e806b228ed8eb7 /libjava/jni.cc
parent807bc1db3dea6d5c6bfdb228df6c207d65462e9a (diff)
downloadgcc-af98124ef9a698e8b82e4e794fd421ea0ccb3054.zip
gcc-af98124ef9a698e8b82e4e794fd421ea0ccb3054.tar.gz
gcc-af98124ef9a698e8b82e4e794fd421ea0ccb3054.tar.bz2
jni.cc (_Jv_JNI_FindClass): Use system class loader if class doesn't have a loader.
* jni.cc (_Jv_JNI_FindClass): Use system class loader if class doesn't have a loader. From-SVN: r33272
Diffstat (limited to 'libjava/jni.cc')
-rw-r--r--libjava/jni.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/jni.cc b/libjava/jni.cc
index ea2f039..cd45ab8 100644
--- a/libjava/jni.cc
+++ b/libjava/jni.cc
@@ -424,15 +424,16 @@ _Jv_JNI_FindClass (JNIEnv *env, const char *name)
// This might throw an out of memory exception.
jstring n = JvNewStringUTF (s);
- java::lang::ClassLoader *loader;
- if (env->klass == NULL)
+ java::lang::ClassLoader *loader = NULL;
+ if (env->klass != NULL)
+ loader = env->klass->getClassLoader ();
+
+ if (loader == NULL)
{
// FIXME: should use getBaseClassLoader, but we don't have that
// yet.
loader = java::lang::ClassLoader::getSystemClassLoader ();
}
- else
- loader = env->klass->getClassLoader ();
r = loader->loadClass (n);
}