summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosscreen.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-03-22 12:54:35 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-03-29 10:01:41 +0000
commitbff59f87ba11cac1dfa710f021522372de7a776f (patch)
tree9fa99636bf623d631abd5f9a0fef073c150b7fe0 /src/plugins/platforms/ios/qiosscreen.mm
parentdb7c644cd634cce3b309fb63978f466456e0f559 (diff)
Move delivery of update requests into QPlatformWindow
Having deliverUpdateRequest in QWindowPrivate was a bit awkward and asymmetric to the QPlatformWindow::requestUpdate() API. Keeping them together follows the existing pattern of plumbing things through the platform window, and also allows us to move away from platform plugins relying on QWindowPrivate implementation details. Change-Id: Ib131ccdd1c2bdd6ff1c8d95facbc3f6f88a1abcf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/plugins/platforms/ios/qiosscreen.mm')
-rw-r--r--src/plugins/platforms/ios/qiosscreen.mm11
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)