summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qwindowsurface_s60.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qwindowsurface_s60.cpp')
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index 664ad48..dc4e43b 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -85,7 +85,9 @@ QS60WindowSurface::~QS60WindowSurface()
void QS60WindowSurface::beginPaint(const QRegion &rgn)
{
if (!qt_widget_private(window())->isOpaque) {
- QImage image = static_cast<QS60PixmapData *>(d_ptr->device.data_ptr().data())->image;
+ QS60PixmapData *pixmapData = static_cast<QS60PixmapData *>(d_ptr->device.data_ptr().data());
+ pixmapData->beginDataAccess();
+ QImage &image = pixmapData->image;
QRgb *data = reinterpret_cast<QRgb *>(image.bits());
const int row_stride = image.bytesPerLine() / 4;
@@ -103,6 +105,7 @@ void QS60WindowSurface::beginPaint(const QRegion &rgn)
row += row_stride;
}
}
+ pixmapData->endDataAccess();
}
}