diff options
Diffstat (limited to 'libjava')
| -rw-r--r-- | libjava/ChangeLog | 4 | ||||
| -rw-r--r-- | libjava/jni.cc | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f5806da..79ab555 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2000-04-20 Tom Tromey <tromey@cygnus.com> + + * jni.cc (_Jv_JNI_PopSystemFrame): Clear `env->ex'. + 2000-04-19 Tom Tromey <tromey@cygnus.com> * jni.cc (_Jv_JNI_FindClass): Use system class loader if class diff --git a/libjava/jni.cc b/libjava/jni.cc index cd45ab8..020f7e8 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -357,7 +357,11 @@ _Jv_JNI_PopSystemFrame (JNIEnv *env) _Jv_JNI_PopLocalFrame (env, NULL, MARK_SYSTEM); if (env->ex) - throw env->ex; + { + jthrowable t = env->ex; + env->ex = NULL; + throw t; + } } // This function is used from other template functions. It wraps the |
