summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-01-08 07:54:48 (GMT)
committerJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-01-08 08:06:56 (GMT)
commit4378b168ad289e1acbde9580b750ce04b51260c3 (patch)
tree21f111669589c388ca8d3f666351d3f20e3b7898
parentfcf3c500ca9f1659088af5114d19f7a365d01701 (diff)
downloadQt-4378b168ad289e1acbde9580b750ce04b51260c3.zip
Qt-4378b168ad289e1acbde9580b750ce04b51260c3.tar.gz
Qt-4378b168ad289e1acbde9580b750ce04b51260c3.tar.bz2
Fix for QTBUG-5870 QGraphicsProxyWidget does not show children on
Symbian. QS60PaintEngine returned wrong device in QPaintEngine::paintDevice(). Task-number: QTBUG-5870 Reviewed-by: Jason Barron
-rw-r--r--src/gui/painting/qpaintengine_s60.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/gui/painting/qpaintengine_s60.cpp b/src/gui/painting/qpaintengine_s60.cpp
index 6f4f398..c5840f1 100644
--- a/src/gui/painting/qpaintengine_s60.cpp
+++ b/src/gui/painting/qpaintengine_s60.cpp
@@ -47,18 +47,25 @@ QT_BEGIN_NAMESPACE
class QS60PaintEnginePrivate : public QRasterPaintEnginePrivate
{
public:
- QS60PaintEnginePrivate(QS60PaintEngine *engine) { Q_UNUSED(engine); }
+ QS60PaintEnginePrivate() {}
};
QS60PaintEngine::QS60PaintEngine(QPaintDevice *device, QS60PixmapData *data)
- : QRasterPaintEngine(*(new QS60PaintEnginePrivate(this)), device), pixmapData(data)
+ : QRasterPaintEngine(*(new QS60PaintEnginePrivate), device), pixmapData(data)
{
}
bool QS60PaintEngine::begin(QPaintDevice *device)
{
+ Q_D(QS60PaintEngine);
+
pixmapData->beginDataAccess();
- return QRasterPaintEngine::begin(device);
+ bool ret = QRasterPaintEngine::begin(device);
+ // Make sure QPaintEngine::paintDevice() returns the proper device.
+ // QRasterPaintEngine changes pdev to QImage in case of RasterClass QPixmapData
+ // which is incorrect in Symbian.
+ d->pdev = device;
+ return ret;
}
bool QS60PaintEngine::end()