From 6e3b126188386ef03d5657bd8c898dd3a5f69355 Mon Sep 17 00:00:00 2001 From: Vojtech Forejt Date: Thu, 24 Mar 2011 23:56:06 +0000 Subject: [PATCH] corrected a problem with setting mainlog and techlog in native calls git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2576 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/hybrid/PrismHybrid.cc | 4 ++++ prism/src/mtbdd/PrismMTBDD.cc | 4 ++++ prism/src/sparse/PrismSparse.cc | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/prism/src/hybrid/PrismHybrid.cc b/prism/src/hybrid/PrismHybrid.cc index fe0cc2a9..65fdc944 100644 --- a/prism/src/hybrid/PrismHybrid.cc +++ b/prism/src/hybrid/PrismHybrid.cc @@ -101,7 +101,9 @@ JNIEXPORT void JNICALL Java_hybrid_PrismHybrid_PH_1SetMainLog(JNIEnv *env, jclas // if main log has been set previously, we need to delete existing global refs first if (main_log_obj != NULL) { env->DeleteGlobalRef(main_log_cls); + main_log_cls = NULL; env->DeleteGlobalRef(main_log_obj); + main_log_obj = NULL; } // make a global reference to the log object @@ -119,7 +121,9 @@ JNIEXPORT void JNICALL Java_hybrid_PrismHybrid_PH_1SetTechLog(JNIEnv *env, jclas // if tech log has been set previously, we need to delete existing global refs first if (tech_log_obj != NULL) { env->DeleteGlobalRef(tech_log_cls); + tech_log_cls = NULL; env->DeleteGlobalRef(tech_log_obj); + tech_log_obj = NULL; } // make a global reference to the log object diff --git a/prism/src/mtbdd/PrismMTBDD.cc b/prism/src/mtbdd/PrismMTBDD.cc index 200e5818..6786abe4 100644 --- a/prism/src/mtbdd/PrismMTBDD.cc +++ b/prism/src/mtbdd/PrismMTBDD.cc @@ -92,7 +92,9 @@ JNIEXPORT void JNICALL Java_mtbdd_PrismMTBDD_PM_1SetMainLog(JNIEnv *env, jclass // if main log has been set previously, we need to delete existing global refs first if (main_log_obj != NULL) { env->DeleteGlobalRef(main_log_cls); + main_log_cls = NULL; env->DeleteGlobalRef(main_log_obj); + main_log_obj = NULL; } // make a global reference to the log object @@ -110,7 +112,9 @@ JNIEXPORT void JNICALL Java_mtbdd_PrismMTBDD_PM_1SetTechLog(JNIEnv *env, jclass // if tech log has been set previously, we need to delete existing global refs first if (tech_log_obj != NULL) { env->DeleteGlobalRef(tech_log_cls); + tech_log_cls = NULL; env->DeleteGlobalRef(tech_log_obj); + tech_log_obj = NULL; } // make a global reference to the log object diff --git a/prism/src/sparse/PrismSparse.cc b/prism/src/sparse/PrismSparse.cc index 361e8d46..6ee7ccb5 100644 --- a/prism/src/sparse/PrismSparse.cc +++ b/prism/src/sparse/PrismSparse.cc @@ -94,7 +94,9 @@ JNIEXPORT void JNICALL Java_sparse_PrismSparse_PS_1SetMainLog(JNIEnv *env, jclas // if main log has been set previously, we need to delete existing global refs first if (main_log_obj != NULL) { env->DeleteGlobalRef(main_log_cls); + main_log_cls = NULL; env->DeleteGlobalRef(main_log_obj); + main_log_obj = NULL; } // make a global reference to the log object @@ -112,7 +114,9 @@ JNIEXPORT void JNICALL Java_sparse_PrismSparse_PS_1SetTechLog(JNIEnv *env, jclas // if tech log has been set previously, we need to delete existing global refs first if (tech_log_obj != NULL) { env->DeleteGlobalRef(tech_log_cls); + tech_log_cls = NULL; env->DeleteGlobalRef(tech_log_obj); + tech_log_obj = NULL; } // make a global reference to the log object