Android: Don't hang when resuming the application
If the main thread is blocked updateApplicationState will hang. It happens when we're using functions like runOnAndroidThreadSync or requestPermissionsSync. Change-Id: Ic1135c5630b48cf1076ef5cbc133933fce439bfb Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
This commit is contained in:
parent
bd4d847903
commit
734da261a8
@ -672,11 +672,6 @@ static void updateApplicationState(JNIEnv */*env*/, jobject /*thiz*/, jint state
|
|||||||
QAndroidEventDispatcherStopper::instance()->goingToStop(true);
|
QAndroidEventDispatcherStopper::instance()->goingToStop(true);
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState(state));
|
QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState(state));
|
||||||
{
|
|
||||||
AndroidDeadlockProtector protector;
|
|
||||||
if (protector.acquire())
|
|
||||||
QWindowSystemInterface::flushWindowSystemEvents();
|
|
||||||
}
|
|
||||||
if (state == Qt::ApplicationSuspended)
|
if (state == Qt::ApplicationSuspended)
|
||||||
QAndroidEventDispatcherStopper::instance()->stopAll();
|
QAndroidEventDispatcherStopper::instance()->stopAll();
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user