diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2016-10-26 14:47:43 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2016-10-28 08:03:58 +0000 |
commit | 73e68a9c0f8b6eb2873822efdae3dbb7c98a86d6 (patch) | |
tree | d916be9b7078fe6eaef7bbbed6e5e845ac4430d8 /src/plugins/platforms/cocoa/qcocoawindow.mm | |
parent | c9d6e3226811e22da4862d64fae6fb935c7562c5 (diff) |
macOS: Keep reference to NSScreen instead of mapping QCocoaScreen by index
We're mostly using the result of looking up the index anyways.
Change-Id: I2ada58a9e6159a567691568b42fef76a82797eb3
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 751f2a7101..d5b405c951 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -1363,11 +1363,7 @@ void QCocoaWindow::windowDidChangeScreen() if (!window()) return; - NSUInteger screenIndex = [[NSScreen screens] indexOfObject:m_view.window.screen]; - if (screenIndex == NSNotFound) - return; - - if (QCocoaScreen *cocoaScreen = QCocoaIntegration::instance()->screenAtIndex(screenIndex)) + if (QCocoaScreen *cocoaScreen = QCocoaIntegration::instance()->screenForNSScreen(m_view.window.screen)) QWindowSystemInterface::handleWindowScreenChanged(window(), cocoaScreen->screen()); updateExposedGeometry(); @@ -2001,12 +1997,8 @@ void QCocoaWindow::exposeWindow() // time, and we won't get a NSWindowDidChangeScreenNotification // on show. The case where the window is initially displayed // on a non-primary screen needs special handling here. - NSUInteger screenIndex = [[NSScreen screens] indexOfObject:m_nsWindow.screen]; - if (screenIndex != NSNotFound) { - QCocoaScreen *cocoaScreen = QCocoaIntegration::instance()->screenAtIndex(screenIndex); - if (cocoaScreen) - window()->setScreen(cocoaScreen->screen()); - } + if (QCocoaScreen *cocoaScreen = QCocoaIntegration::instance()->screenForNSScreen(m_nsWindow.screen)) + window()->setScreen(cocoaScreen->screen()); if (!m_isExposed) { m_isExposed = true; |