summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-07-09 14:27:11 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-07-12 09:49:35 +0000
commitd6fb64267fd90a95a64355e610f89eec480d1c1e (patch)
tree1383d9bb1f612930bacaae948a71198574d126a0 /src/plugins
parent97e88dcb92d946021aca148a166bf276f459e5d3 (diff)
macOS: Correctly restart display-link when window is moved between screens
Change-Id: I4b9cdd3d259965f9094ef1bbbca3ebed8df18443 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 47e13a9e8c..065431f0ca 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -1070,10 +1070,12 @@ void QCocoaWindow::windowDidChangeScreen()
if (!window())
return;
+ const bool wasRunningDisplayLink = static_cast<QCocoaScreen *>(screen())->isRunningDisplayLink();
+
if (QCocoaScreen *cocoaScreen = QCocoaIntegration::instance()->screenForNSScreen(m_view.window.screen)) {
QWindowSystemInterface::handleWindowScreenChanged<QWindowSystemInterface::SynchronousDelivery>(window(), cocoaScreen->screen());
- if (hasPendingUpdateRequest() && cocoaScreen->isRunningDisplayLink())
+ if (hasPendingUpdateRequest() && wasRunningDisplayLink)
requestUpdate(); // Restart display-link on new screen
}
}