From 49b4433adf254b81f8b7727fbcf88ce2a48100ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 22 Mar 2018 15:08:10 +0100 Subject: Provide QPlatformWindow::hasPendingUpdateRequest() helper function So that platform plugins don't need to dive into QWindowPrivate. Change-Id: Ia2d94b3e9236e4a68857e6afe7af063f1b0d0aeb Reviewed-by: Simon Hausmann --- src/plugins/platforms/cocoa/qnsview_drawing.mm | 6 ++---- src/plugins/platforms/ios/qiosscreen.mm | 9 ++++----- 2 files changed, 6 insertions(+), 9 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/cocoa/qnsview_drawing.mm b/src/plugins/platforms/cocoa/qnsview_drawing.mm index 3b72715616..fc5f806cb6 100644 --- a/src/plugins/platforms/cocoa/qnsview_drawing.mm +++ b/src/plugins/platforms/cocoa/qnsview_drawing.mm @@ -115,17 +115,15 @@ } #endif - QWindowPrivate *windowPrivate = qt_window_private(m_platformWindow->window()); - if (m_updateRequested) { - Q_ASSERT(windowPrivate->updateRequestPending); + Q_ASSERT(m_platformWindow->hasPendingUpdateRequest()); m_platformWindow->deliverUpdateRequest(); m_updateRequested = false; } else { m_platformWindow->handleExposeEvent(dirtyRegion); } - if (windowPrivate->updateRequestPending) { + if (m_platformWindow->hasPendingUpdateRequest()) { // A call to QWindow::requestUpdate was issued during event delivery above, // but AppKit will reset the needsDisplay state of the view after completing // the current display cycle, so we need to defer the request to redisplay. diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index 8a9a974825..96679eaccd 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -394,18 +394,17 @@ void QIOSScreen::deliverUpdateRequests() const if (platformScreenForWindow(window) != this) continue; - QWindowPrivate *wp = qt_window_private(window); - if (!wp->updateRequestPending) - continue; - QPlatformWindow *platformWindow = window->handle(); if (!platformWindow) continue; + if (!platformWindow->hasPendingUpdateRequest()) + continue; + platformWindow->deliverUpdateRequest(); // Another update request was triggered, keep the display link running - if (wp->updateRequestPending) + if (platformWindow->hasPendingUpdateRequest()) pauseUpdates = false; } -- cgit v1.2.3