From 6820ac594af949527d17d0b32205377fc767f527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 25 Nov 2013 15:07:21 +0100 Subject: [PATCH] iOS: Prefer window states over geometry-heuristics when laying out windows A window that was resized to the full screen size of the screen would otherwise always stay in full screen, even if the window state was maximized. Change-Id: I4720f7b6ad1d85658ea96c6da0515693e8c827f3 Reviewed-by: Richard Moe Gustavsen --- src/plugins/platforms/ios/qiosscreen.mm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index b8f4e387edf..7746163357b 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -231,9 +231,13 @@ void QIOSScreen::layoutWindows() if (!platformWindow) continue; - if (window->windowState() & Qt::WindowFullScreen || window->geometry() == oldGeometry) + // FIXME: Handle more complex cases of no-state and/or child windows when rotating + + if (window->windowState() & Qt::WindowFullScreen + || (window->windowState() & Qt::WindowNoState && window->geometry() == oldGeometry)) platformWindow->applyGeometry(newGeometry); - else if (window->windowState() & Qt::WindowMaximized || window->geometry() == oldAvailableGeometry) + else if (window->windowState() & Qt::WindowMaximized + || (window->windowState() & Qt::WindowNoState && window->geometry() == oldAvailableGeometry)) platformWindow->applyGeometry(newAvailableGeometry); } }