summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-03-19 11:51:03 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-03-21 02:03:12 +0000
commitc8c8cc790a315710b0dae2282dc32e3472e107ee (patch)
treef25e63bd9c09d381fde339c57ca2a050cba0349c
parent62f053c19b917a369c4aad5b71ab150911b589aa (diff)
macOS: Make [QNSView wantsLayer] declarative
Change-Id: Ib5dc8178293d13542a54d51484181debd57580f5 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm3
-rw-r--r--src/plugins/platforms/cocoa/qnsview_drawing.mm12
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);