summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-01-08 07:54:48 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-01-11 12:28:24 (GMT)
commit4243135ca7cf208da5381d72d7596846250872ab (patch)
tree714ccac378b0ab2c331d597eeb74b6663d54ab74 /src
parent6f9265844bdbd422e425a74e424b81fc4e1c99f2 (diff)
downloadQt-4243135ca7cf208da5381d72d7596846250872ab.zip
Qt-4243135ca7cf208da5381d72d7596846250872ab.tar.gz
Qt-4243135ca7cf208da5381d72d7596846250872ab.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 (cherry picked from commit 4378b168ad289e1acbde9580b750ce04b51260c3)
Diffstat (limited to 'src')
-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 f7bafde..765a859 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()