summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-11-21 14:29:47 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-11-21 14:29:47 +0000
commita50724ca2cd53784b7a1ac693002309250d85da3 (patch)
tree5170e0a71eb532a299203e195be66c6d367a47d8
parent57a48fea59634944ca7a8544dffc3472ca373326 (diff)
the Java binding for lookupMorpho should release the local references created in a loop
-rw-r--r--src/runtime/java/jpgf.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c
index dd29eaf7f..f8c340cf9 100644
--- a/src/runtime/java/jpgf.c
+++ b/src/runtime/java/jpgf.c
@@ -437,14 +437,18 @@ jpgf_collect_morpho(PgfMorphoCallback* self,
JMorphoCallback* callback = (JMorphoCallback*) self;
JNIEnv* env = callback->env;
+ jstring jlemma = gu2j_string(env,lemma);
+ jstring janalysis = gu2j_string(env,analysis);
jobject jan = (*env)->NewObject(env,
callback->an_class,
callback->an_constrId,
- gu2j_string(env,lemma),
- gu2j_string(env,analysis),
+ jlemma,
+ janalysis,
(double) prob);
(*env)->CallBooleanMethod(env, callback->analyses, callback->addId, jan);
(*env)->DeleteLocalRef(env, jan);
+ (*env)->DeleteLocalRef(env, janalysis);
+ (*env)->DeleteLocalRef(env, jlemma);
}
JNIEXPORT jobject JNICALL