diff options
Diffstat (limited to 'src/plugins/platforms/ios/qiosscreen.mm')
-rw-r--r-- | src/plugins/platforms/ios/qiosscreen.mm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index 91d26c88c2..8a9a974825 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -390,14 +390,19 @@ void QIOSScreen::deliverUpdateRequests() const QList<QWindow*> windows = QGuiApplication::allWindows(); for (int i = 0; i < windows.size(); ++i) { - if (platformScreenForWindow(windows.at(i)) != this) + QWindow *window = windows.at(i); + if (platformScreenForWindow(window) != this) continue; - QWindowPrivate *wp = static_cast<QWindowPrivate *>(QObjectPrivate::get(windows.at(i))); + QWindowPrivate *wp = qt_window_private(window); if (!wp->updateRequestPending) continue; - wp->deliverUpdateRequest(); + QPlatformWindow *platformWindow = window->handle(); + if (!platformWindow) + continue; + + platformWindow->deliverUpdateRequest(); // Another update request was triggered, keep the display link running if (wp->updateRequestPending) |