macOS: Handle missing color space information in IOSurface backingstore
Fixes: QTBUG-80972 Change-Id: Iab3f1a9cf03251340e5f32bcc73103428e93282d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 105e662221cc90d5002e06c97febf50c5c601336)
This commit is contained in:
parent
2a0186420c
commit
25e20ae39e
@ -89,9 +89,16 @@ QIOSurfaceGraphicsBuffer::~QIOSurfaceGraphicsBuffer()
|
|||||||
|
|
||||||
void QIOSurfaceGraphicsBuffer::setColorSpace(QCFType<CGColorSpaceRef> colorSpace)
|
void QIOSurfaceGraphicsBuffer::setColorSpace(QCFType<CGColorSpaceRef> colorSpace)
|
||||||
{
|
{
|
||||||
Q_ASSERT(colorSpace);
|
static const auto kIOSurfaceColorSpace = CFSTR("IOSurfaceColorSpace");
|
||||||
IOSurfaceSetValue(m_surface, CFSTR("IOSurfaceColorSpace"),
|
|
||||||
QCFType<CFPropertyListRef>(CGColorSpaceCopyPropertyList(colorSpace)));
|
qCDebug(lcQpaIOSurface) << "Tagging" << this << "with color space" << colorSpace;
|
||||||
|
|
||||||
|
if (colorSpace) {
|
||||||
|
IOSurfaceSetValue(m_surface, kIOSurfaceColorSpace,
|
||||||
|
QCFType<CFPropertyListRef>(CGColorSpaceCopyPropertyList(colorSpace)));
|
||||||
|
} else {
|
||||||
|
IOSurfaceRemoveValue(m_surface, kIOSurfaceColorSpace);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const uchar *QIOSurfaceGraphicsBuffer::data() const
|
const uchar *QIOSurfaceGraphicsBuffer::data() const
|
||||||
|
Loading…
x
Reference in New Issue
Block a user