From: Christian Hergert Date: Sat, 5 Feb 2022 20:42:57 +0000 (-0800) Subject: macos: fallback to conversion on WCG colorspace X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~4^2~22^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=95168e179cd216f0742e3ba4289befa8db663c59;p=gtk4.git macos: fallback to conversion on WCG colorspace We don't want to risk having something really weird come out if we have a WCG colorspace, so instead only do the performance hack on systems where the output is likely reasonable. We will want to eventually just be drawing in the appropriate colorspace, but that is not available yet. --- diff --git a/gdk/macos/GdkMacosCairoView.c b/gdk/macos/GdkMacosCairoView.c index ad8c72f649..6596702fe8 100644 --- a/gdk/macos/GdkMacosCairoView.c +++ b/gdk/macos/GdkMacosCairoView.c @@ -97,6 +97,15 @@ release_surface_provider (void *info, monitor = _gdk_macos_surface_get_best_monitor ([self gdkSurface]); rgb = _gdk_macos_monitor_copy_colorspace (GDK_MACOS_MONITOR (monitor)); + /* If we have an WCG colorspace, just take the slow path or we risk + * really screwing things up. + */ + if (CGColorSpaceIsWideGamutRGB (rgb)) + { + CGColorSpaceRelease (rgb); + rgb = CGColorSpaceCreateDeviceRGB (); + } + /* Assert that our image surface was created correctly with * 16-byte aligned pointers and strides. This is needed to * ensure that we're working with fast paths in CoreGraphics.