From c8c8cc790a315710b0dae2282dc32e3472e107ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 19 Mar 2018 11:51:03 +0100 Subject: macOS: Make [QNSView wantsLayer] declarative Change-Id: Ib5dc8178293d13542a54d51484181debd57580f5 Reviewed-by: Gabriel de Dietrich --- src/plugins/platforms/cocoa/qcocoawindow.mm | 3 --- src/plugins/platforms/cocoa/qnsview_drawing.mm | 12 ++++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 457a40ff03..e201f1eb04 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -195,9 +195,6 @@ void QCocoaWindow::initialize() [m_view setWantsBestResolutionOpenGLSurface:enable]; // See also QCocoaGLContext::makeCurrent for software renderer workarounds. } - BOOL enable = qt_mac_resolveOption(NO, window(), "_q_mac_wantsLayer", - "QT_MAC_WANTS_LAYER"); - [m_view setWantsLayer:enable]; } setGeometry(initialGeometry(window(), windowGeometry(), defaultWindowWidth, defaultWindowHeight)); diff --git a/src/plugins/platforms/cocoa/qnsview_drawing.mm b/src/plugins/platforms/cocoa/qnsview_drawing.mm index 68c41ba5f1..a2509ccb72 100644 --- a/src/plugins/platforms/cocoa/qnsview_drawing.mm +++ b/src/plugins/platforms/cocoa/qnsview_drawing.mm @@ -136,6 +136,18 @@ } } +- (BOOL)wantsLayer +{ + Q_ASSERT(m_platformWindow); + + // Toggling the private QWindow property or the environment variable + // on and off is not a supported use-case, so this code is effectively + // returning a constant for the lifetime of our QSNSView, which means + // we don't care about emitting KVO signals for @"wantsLayer". + return qt_mac_resolveOption(false, m_platformWindow->window(), + "_q_mac_wantsLayer", "QT_MAC_WANTS_LAYER"); +} + - (void)displayLayer:(CALayer *)layer { Q_ASSERT(layer == self.layer); -- cgit v1.2.3