diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-07-09 14:27:11 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-07-12 09:49:35 +0000 |
commit | d6fb64267fd90a95a64355e610f89eec480d1c1e (patch) | |
tree | 1383d9bb1f612930bacaae948a71198574d126a0 /src/plugins | |
parent | 97e88dcb92d946021aca148a166bf276f459e5d3 (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.mm | 4 |
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 } } |