From 9e1297531e659ddbc9306124c301005e11ae28c6 Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Tue, 30 Jan 2024 16:37:00 +0100 Subject: [PATCH] fix: Use `ThreadScope::WithClassLoader` to also load custom JNI Types (#2461) * fix: Fix `ThreadScope` in `runAsync` * fix: Use `&` * Update JVisionCameraScheduler.cpp --- .../java-bindings/JVisionCameraScheduler.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp b/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp index bafc534..77a28a6 100644 --- a/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp +++ b/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp @@ -22,10 +22,11 @@ void JVisionCameraScheduler::dispatchAsync(const std::function& job) { void JVisionCameraScheduler::scheduleTrigger() { // 2.1 Open a JNI Thread scope because this might be called from a C++ background Thread - jni::ThreadScope scope; - // 2.2 schedule `triggerUI` to be called on the java thread - static auto method = _javaPart->getClass()->getMethod("scheduleTrigger"); - method(_javaPart.get()); + jni::ThreadScope::WithClassLoader([&]() { + // 2.2 schedule `triggerUI` to be called on the java thread + static auto method = _javaPart->getClass()->getMethod("scheduleTrigger"); + method(_javaPart.get()); + }); } void JVisionCameraScheduler::trigger() {