From 79fc0ff67a4f0b606d3a321914c156fc66d8fb58 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 25 Sep 2013 18:18:47 +0200 Subject: [PATCH] QCocoaBackingStore: Initialize non-opaque images with transparent color MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In particular, this is needed when a QWidget has WA_TranslucentBackground set and nobody is painting anything behind it (except maybe some native view). Change-Id: Ib1f0714f85fa7eeced527617ecd09bb2ed6ddfc9 Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/cocoa/qcocoabackingstore.mm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/platforms/cocoa/qcocoabackingstore.mm b/src/plugins/platforms/cocoa/qcocoabackingstore.mm index 4881dcef71..665b3d4c13 100644 --- a/src/plugins/platforms/cocoa/qcocoabackingstore.mm +++ b/src/plugins/platforms/cocoa/qcocoabackingstore.mm @@ -77,6 +77,8 @@ QPaintDevice *QCocoaBackingStore::paintDevice() ? QImage::Format_ARGB32_Premultiplied : QImage::Format_RGB32; m_qImage = QImage(m_requestedSize * scaleFactor, format); m_qImage.setDevicePixelRatio(scaleFactor); + if (format == QImage::Format_ARGB32_Premultiplied) + m_qImage.fill(Qt::transparent); } return &m_qImage; }