summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosviewcontroller.mm
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-04-20 21:22:53 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-04-20 21:22:53 +0200
commit6f45fda50b6dbb0704a71a15f38d44027b4b1816 (patch)
tree6a1c511cf233f1723c2b1758647f06c3bdaca7fb /src/plugins/platforms/ios/qiosviewcontroller.mm
parent7ee44dcb9c5c4ffaba0043d7d58e0d43ccc06195 (diff)
parentab6cc41968ec6eedd16e4305cf38ef937b2a8d56 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'src/plugins/platforms/ios/qiosviewcontroller.mm')
-rw-r--r--src/plugins/platforms/ios/qiosviewcontroller.mm14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/qiosviewcontroller.mm b/src/plugins/platforms/ios/qiosviewcontroller.mm
index 787c6b8409..f254a8692d 100644
--- a/src/plugins/platforms/ios/qiosviewcontroller.mm
+++ b/src/plugins/platforms/ios/qiosviewcontroller.mm
@@ -271,6 +271,20 @@
m_focusWindowChangeConnection = QObject::connect(qApp, &QGuiApplication::focusWindowChanged, [self]() {
[self updateProperties];
});
+
+ QIOSApplicationState *applicationState = &QIOSIntegration::instance()->applicationState;
+ QObject::connect(applicationState, &QIOSApplicationState::applicationStateDidChange,
+ [self](Qt::ApplicationState oldState, Qt::ApplicationState newState) {
+ if (oldState == Qt::ApplicationSuspended && newState != Qt::ApplicationSuspended) {
+ // We may have ignored an earlier layout because the application was suspended,
+ // and we didn't want to render anything at that moment in fear of being killed
+ // due to rendering in the background, so we trigger an explicit layout when
+ // coming out of the suspended state.
+ qCDebug(lcQpaWindow) << "triggering root VC layout when coming out of suspended state";
+ [self.view setNeedsLayout];
+ }
+ }
+ );
}
return self;