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()