Skip to content

Commit 27dbcbe

Browse files
committed
fix: ensure JNIEnv is properly attached before deleting global reference 146
1 parent 1f36706 commit 27dbcbe

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

webrtc-jni/src/main/cpp/dependencies/jni-voithos/include/JavaRef.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,10 @@ namespace jni
269269
void deleteGlobalRef()
270270
{
271271
if (this->obj != nullptr) {
272-
JNIEnv * env = nullptr;
273-
274-
if (env) {
272+
JNIEnv * env = AttachCurrentThread();
273+
if (env != nullptr) {
275274
env->DeleteGlobalRef(this->obj);
276275
}
277-
278276
this->obj = nullptr;
279277
}
280278
}

webrtc-jni/src/main/cpp/src/JNI_RTCPeerConnection.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,7 @@ JNIEXPORT void JNICALL Java_dev_onvoid_webrtc_RTCPeerConnection_close
605605
auto observer = GetHandle<webrtc::PeerConnectionObserver>(env, caller, "observerHandle");
606606

607607
if (observer) {
608+
SetHandle<std::nullptr_t>(env, caller, "observerHandle", nullptr);
608609
delete observer;
609610
}
610611
}

0 commit comments

Comments
 (0)