diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 2e2df6d42..d351c77a8 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -1191,6 +1191,13 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setVideoWindowId(JNIEnv* ,jobject thiz ,jlong lc ,jobject obj) { + jobject oldWindow = (jobject) linphone_core_get_native_video_window_id((LinphoneCore*)lc); + if (oldWindow != NULL) { + env->DeleteGlobalRef(oldWindow); + } + if (obj != NULL) { + obj = env->NewGlobalRef(obj); + } linphone_core_set_native_video_window_id((LinphoneCore*)lc,(unsigned long)obj); }