From 63a670f5d3f689ad69467798bc1b49ad60d03b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 12 Jul 2021 16:34:21 +0200 Subject: [PATCH] macOS: Map QSurfaceFormat color space to NSWindow via ICC data Instead of special casing sRGB. Change-Id: I7ad20c4b9600210333d5e44c3a2d20ce7d39dd92 Reviewed-by: Allan Sandfeld Jensen (cherry picked from commit 3c3f6ebdbb48c9c071ef1a34a955b36bdaed4f99) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/cocoa/qcocoawindow.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 0190e34b470..cd1d7e56f80 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -1666,8 +1666,11 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel) applyContentBorderThickness(nsWindow); - if (format().colorSpace() == QColorSpace::SRgb) - nsWindow.colorSpace = NSColorSpace.sRGBColorSpace; + if (QColorSpace colorSpace = format().colorSpace(); colorSpace.isValid()) { + NSData *iccData = colorSpace.iccProfile().toNSData(); + nsWindow.colorSpace = [[[NSColorSpace alloc] initWithICCProfileData:iccData] autorelease]; + qCDebug(lcQpaDrawing) << "Set" << this << "color space to" << nsWindow.colorSpace; + } return nsWindow; }