aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/jni.cc6
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