the Java binding for lookupMorpho should release the local references created in a loop

This commit is contained in:
kr.angelov
2013-11-21 14:29:47 +00:00
parent 57a48fea59
commit a50724ca2c

View File

@@ -437,14 +437,18 @@ jpgf_collect_morpho(PgfMorphoCallback* self,
JMorphoCallback* callback = (JMorphoCallback*) self; JMorphoCallback* callback = (JMorphoCallback*) self;
JNIEnv* env = callback->env; JNIEnv* env = callback->env;
jstring jlemma = gu2j_string(env,lemma);
jstring janalysis = gu2j_string(env,analysis);
jobject jan = (*env)->NewObject(env, jobject jan = (*env)->NewObject(env,
callback->an_class, callback->an_class,
callback->an_constrId, callback->an_constrId,
gu2j_string(env,lemma), jlemma,
gu2j_string(env,analysis), janalysis,
(double) prob); (double) prob);
(*env)->CallBooleanMethod(env, callback->analyses, callback->addId, jan); (*env)->CallBooleanMethod(env, callback->analyses, callback->addId, jan);
(*env)->DeleteLocalRef(env, jan); (*env)->DeleteLocalRef(env, jan);
(*env)->DeleteLocalRef(env, janalysis);
(*env)->DeleteLocalRef(env, jlemma);
} }
JNIEXPORT jobject JNICALL JNIEXPORT jobject JNICALL