summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qioscontext.mm
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-23 07:18:39 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-23 10:29:37 +0200
commit5cfb80a28ef6bf6820c970a6c355e6879021e46e (patch)
treee60f1f43e9670e82923e3c2d0d19b29198b9c300 /src/plugins/platforms/ios/qioscontext.mm
parent930e750b7aca024b839c9856cfcc79aab8c0abbc (diff)
parentf4be16e1f7828a0f6992ef2e20b9106177d7fc88 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: src/angle/src/libGLESv2/libGLESv2.pro src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp Change-Id: If8da4cfe8f57fea9f78e7239f378a6302c01674e
Diffstat (limited to 'src/plugins/platforms/ios/qioscontext.mm')
-rw-r--r--src/plugins/platforms/ios/qioscontext.mm6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/ios/qioscontext.mm b/src/plugins/platforms/ios/qioscontext.mm
index d18e317bfb..50374dc951 100644
--- a/src/plugins/platforms/ios/qioscontext.mm
+++ b/src/plugins/platforms/ios/qioscontext.mm
@@ -217,8 +217,12 @@ void QIOSContext::swapBuffers(QPlatformSurface *surface)
if (surface->surface()->surfaceClass() == QSurface::Offscreen)
return; // Nothing to do
+ // When using threaded rendering, the render-thread may not have picked up
+ // yet on the fact that a window is no longer exposed, and will try to swap
+ // a non-exposed window. This may in some cases result in crashes, e.g. when
+ // iOS is suspending an application, so we have an extra guard here.
if (!static_cast<QIOSWindow *>(surface)->isExposed()) {
- qCWarning(lcQpaGLContext, "Detected swapBuffers on a non-exposed window, skipping flush");
+ qCDebug(lcQpaGLContext, "Detected swapBuffers on a non-exposed window, skipping flush");
return;
}