diff options
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoahelpers.mm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm index e3916ea787..894c2c1168 100644 --- a/src/plugins/platforms/cocoa/qcocoahelpers.mm +++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm @@ -97,13 +97,10 @@ CGImageRef qt_mac_toCGImage(const QImage &inImage) if (inImage.isNull()) return 0; - QImage image = (inImage.depth() == 32) ? inImage : inImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); + QImage image = inImage; uint cgflags = kCGImageAlphaNone; switch (image.format()) { - case QImage::Format_ARGB32_Premultiplied: - cgflags = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host; - break; case QImage::Format_ARGB32: cgflags = kCGImageAlphaFirst | kCGBitmapByteOrder32Host; break; @@ -123,7 +120,11 @@ CGImageRef qt_mac_toCGImage(const QImage &inImage) cgflags = kCGImageAlphaNoneSkipLast | kCGBitmapByteOrder32Big; break; default: - Q_ASSERT(false); // Should never be reached. + // Everything not recognized explicitly is converted to ARGB32_Premultiplied. + image = inImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); + // no break; + case QImage::Format_ARGB32_Premultiplied: + cgflags = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host; break; } |