aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-04-20 17:39:30 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-04-20 17:39:30 +0000
commit6e84eab83fe52854c2675e7526a89327cc90c0c7 (patch)
treec3ab210b51d805071744525b1e5c62e9253b4eb7 /libjava
parent06a50fff5b99c7ef17476befe92888ee7f4e8a08 (diff)
downloadgcc-6e84eab83fe52854c2675e7526a89327cc90c0c7.zip
gcc-6e84eab83fe52854c2675e7526a89327cc90c0c7.tar.gz
gcc-6e84eab83fe52854c2675e7526a89327cc90c0c7.tar.bz2
* jni.cc (_Jv_JNI_PopSystemFrame): Clear `env->ex'.
From-SVN: r33285
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