macOS: Map QSurfaceFormat color space to NSWindow via ICC data

Instead of special casing sRGB.

Pick-to: 6.2 6.1
Change-Id: I7ad20c4b9600210333d5e44c3a2d20ce7d39dd92
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
bb10
Tor Arne Vestbø 2021-07-12 16:34:21 +02:00
parent 8ac8d812f7
commit 3c3f6ebdbb
1 changed files with 5 additions and 2 deletions

View File

@ -1668,8 +1668,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;
}