From 41eb705477bd9f988e201c71cf1cde3836137e4e Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 14 Oct 2015 00:24:36 +0300 Subject: [PATCH] unix/modjni: call_method: Check for Java exception after method return. --- unix/modjni.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/unix/modjni.c b/unix/modjni.c index 3946232615..ef416ee48e 100644 --- a/unix/modjni.c +++ b/unix/modjni.c @@ -450,15 +450,19 @@ STATIC mp_obj_t call_method(jobject obj, const char *name, jarray methods, bool } else { if (MATCH(ret_type, "void")) { JJ(CallVoidMethodA, obj, method_id, jargs); + check_exception(); ret = mp_const_none; } else if (MATCH(ret_type, "int")) { jint res = JJ(CallIntMethodA, obj, method_id, jargs); + check_exception(); ret = mp_obj_new_int(res); } else if (MATCH(ret_type, "boolean")) { jboolean res = JJ(CallBooleanMethodA, obj, method_id, jargs); + check_exception(); ret = mp_obj_new_bool(res); } else if (is_object_type(ret_type)) { res = JJ(CallObjectMethodA, obj, method_id, jargs); + check_exception(); ret = new_jobject(res); } else { JJ(ReleaseStringUTFChars, name_o, decl);