diff options
Diffstat (limited to 'libjava/java/lang/natRuntime.cc')
-rw-r--r-- | libjava/java/lang/natRuntime.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc index b9b9c57365a..eb1d477002a 100644 --- a/libjava/java/lang/natRuntime.cc +++ b/libjava/java/lang/natRuntime.cc @@ -135,8 +135,13 @@ java::lang::Runtime::_load (jstring path, jboolean do_search) void *onload = lt_dlsym (h, "JNI_OnLoad"); if (onload != NULL) { - // FIXME: need invocation API to get JavaVM. - jint vers = ((jint (*) (...)) onload) (NULL, NULL); + JavaVM *vm = _Jv_GetJavaVM (); + if (vm == NULL) + { + // FIXME: what? + return; + } + jint vers = ((jint (*) (JavaVM *, void *)) onload) (vm, NULL); if (vers != JNI_VERSION_1_1 && vers != JNI_VERSION_1_2) { // FIXME: unload the library. |