summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorJani Hautakangas <ext-jani.hautakangas@nokia.com>2009-12-16 13:21:10 (GMT)
committerJani Hautakangas <ext-jani.hautakangas@nokia.com>2009-12-16 13:42:47 (GMT)
commit4b815774358c3c981dc8bbbcb0dd68abe2e812f2 (patch)
tree3c095285ff03743e4563114e1dd40af0fffbffbf /src/gui/painting
parent989895e84806b88f0b1e0d75ce6dbf6c482357b6 (diff)
downloadQt-4b815774358c3c981dc8bbbcb0dd68abe2e812f2.zip
Qt-4b815774358c3c981dc8bbbcb0dd68abe2e812f2.tar.gz
Qt-4b815774358c3c981dc8bbbcb0dd68abe2e812f2.tar.bz2
Fix for QTBUG-4908 SVG transparency rendering problem.
QPixmap::copy discarded alpha channel. This fix also removes usage of member variables CFbsBitGc and CFbsBitmapDevice. Now those are used only in function scope. Reviewed-by: Sami Merila
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index c66da71..15427c6 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -68,12 +68,14 @@ QS60WindowSurface::QS60WindowSurface(QWidget* widget)
mode = EColor16MA; // Try for transparency anyway
// We create empty CFbsBitmap here -> it will be resized in setGeometry
- CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); // CBase derived object needs check on new
+ CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); // CBase derived object needs check on new
qt_symbian_throwIfError( bitmap->Create( TSize(0, 0), mode ) );
QS60PixmapData *data = new QS60PixmapData(QPixmapData::PixmapType);
- data->fromSymbianBitmap(bitmap);
- d_ptr->device = QPixmap(data);
+ if (data) {
+ data->fromSymbianBitmap(bitmap, true);
+ d_ptr->device = QPixmap(data);
+ }
setStaticContentsSupport(true);
}