macOS: Map QSurfaceFormat color space to NSWindow via ICC data

Instead of special casing sRGB.

Change-Id: I7ad20c4b9600210333d5e44c3a2d20ce7d39dd92
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 3c3f6ebdbb48c9c071ef1a34a955b36bdaed4f99)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Tor Arne Vestbø 2021-07-12 16:34:21 +02:00 committed by Qt Cherry-pick Bot
parent 1e069b5f57
commit 63a670f5d3

View File

@ -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;
}