From 996d78d4c94a0116eecec160caf605ea3629f36c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 28 Nov 2013 13:09:44 +0100 Subject: [PATCH] iOS: Handle statusbar changes to child windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Going through the platform window failed when the parent wasn't created yet. We can still get the window state of an yet-to-be-created top level window. Change-Id: Iaa61ddc50df037ac0bd2fd0884884c2bfce1dd9a Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/ios/qiosviewcontroller.mm | 6 +++--- src/plugins/platforms/ios/qioswindow.h | 2 +- src/plugins/platforms/ios/qioswindow.mm | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/platforms/ios/qiosviewcontroller.mm b/src/plugins/platforms/ios/qiosviewcontroller.mm index 2e7e44d32c..9a9fba5a8e 100644 --- a/src/plugins/platforms/ios/qiosviewcontroller.mm +++ b/src/plugins/platforms/ios/qiosviewcontroller.mm @@ -102,11 +102,11 @@ - (BOOL)prefersStatusBarHidden { QWindow *focusWindow = QGuiApplication::focusWindow(); - if (!focusWindow) + if (!focusWindow || !focusWindow->handle()) return [UIApplication sharedApplication].statusBarHidden; - QIOSWindow *topLevel = static_cast(focusWindow->handle())->topLevelWindow(); - return topLevel->window()->windowState() == Qt::WindowFullScreen; + QWindow *topLevel = static_cast(focusWindow->handle())->topLevelWindow(); + return topLevel->windowState() == Qt::WindowFullScreen; } @end diff --git a/src/plugins/platforms/ios/qioswindow.h b/src/plugins/platforms/ios/qioswindow.h index a5e122bda1..01a82866dc 100644 --- a/src/plugins/platforms/ios/qioswindow.h +++ b/src/plugins/platforms/ios/qioswindow.h @@ -85,7 +85,7 @@ public: WId winId() const { return WId(m_view); }; - QIOSWindow *topLevelWindow() const; + QWindow *topLevelWindow() const; private: void applyGeometry(const QRect &rect); diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm index 5374bc530d..d62d5420b7 100644 --- a/src/plugins/platforms/ios/qioswindow.mm +++ b/src/plugins/platforms/ios/qioswindow.mm @@ -622,7 +622,7 @@ void QIOSWindow::setParent(const QPlatformWindow *parentWindow) } } -QIOSWindow *QIOSWindow::topLevelWindow() const +QWindow *QIOSWindow::topLevelWindow() const { QWindow *window = this->window(); while (window) { @@ -636,7 +636,7 @@ QIOSWindow *QIOSWindow::topLevelWindow() const window = parent; } - return static_cast(window->handle()); + return window; } void QIOSWindow::requestActivateWindow()