Android: make calling exit() conditional on an environment variable

Task-number: QTBUG-82617
Task-number: QTBUG-85449
Task-number: QTBUG-83043
Change-Id: I5ac67b5d57550e5a1f816e5db01f4aab31127283
Pick-to: 5.15
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
bb10
Ville Voutilainen 2021-01-28 09:56:30 +02:00
parent b1ad7f938e
commit 6e0ce4ee80
1 changed files with 3 additions and 2 deletions

View File

@ -519,7 +519,7 @@ static void waitForServiceSetup(JNIEnv *env, jclass /*clazz*/)
QtAndroidPrivate::waitForServiceSetup();
}
static jboolean startQtApplication(JNIEnv */*env*/, jclass /*clazz*/)
static void startQtApplication(JNIEnv */*env*/, jclass /*clazz*/)
{
{
JNIEnv* env = nullptr;
@ -558,7 +558,8 @@ static jboolean startQtApplication(JNIEnv */*env*/, jclass /*clazz*/)
sem_destroy(&m_exitSemaphore);
// We must call exit() to ensure that all global objects will be destructed
exit(ret);
if (!qEnvironmentVariableIsSet("QT_ANDROID_NO_EXIT_CALL"))
exit(ret);
}
static void quitQtCoreApplication(JNIEnv *env, jclass /*clazz*/)