diff --git a/tests/auto/qandroidjnienvironment/tst_qandroidjnienvironment.cpp b/tests/auto/qandroidjnienvironment/tst_qandroidjnienvironment.cpp index f0f8fa62cf7e408a78c5f7d261fb3406d44f68ae..3aa2033d12d6a2f2cbf6d8cba944d11009cc5fcb 100644 --- a/tests/auto/qandroidjnienvironment/tst_qandroidjnienvironment.cpp +++ b/tests/auto/qandroidjnienvironment/tst_qandroidjnienvironment.cpp @@ -66,9 +66,10 @@ void tst_QAndroidJniEnvironment::jniEnv() env->ExceptionClear(); } - // The environment should automatically be detached when QAndroidJniEnvironment goes out of scope - JNIEnv *jni = 0; - QCOMPARE(javaVM->GetEnv((void**)&jni, JNI_VERSION_1_6), JNI_EDETACHED); + // The env does not detach automatically, even if it goes out of scope. The only way it can + // be detached is if it's done explicitly, or if the thread we attached to gets killed (TLS clean-up). + JNIEnv *jni = nullptr; + QCOMPARE(javaVM->GetEnv((void**)&jni, JNI_VERSION_1_6), JNI_OK); } void tst_QAndroidJniEnvironment::javaVM()