summaryrefslogtreecommitdiff
path: root/src/gui/painting
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-01-15 16:38:38 +0100
committerQt Continuous Integration System <qt-info@nokia.com>2010-01-15 16:38:38 +0100
commitab124ac4c66cbfb22e8f25b5e77c4e7564acdd89 (patch)
tree9804bfa5c638b433819164c98116bc645138d24e /src/gui/painting
parent4c9e8b781eca47d6cfde686b360e447f620898fd (diff)
parent741bcdc965d3e29bf70fd82b206a494ed1ca0752 (diff)
downloadqt4-tools-ab124ac4c66cbfb22e8f25b5e77c4e7564acdd89.tar.gz
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Enable surface transparency support on Symbian^4. Improve the behavior of expose events on Symbian.
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 b8eaead4ba..b41dc2c03c 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -145,10 +145,12 @@ QImage* QS60WindowSurface::buffer(const QWidget *widget)
void QS60WindowSurface::flush(QWidget *widget, const QRegion &region, const QPoint &)
{
- const QVector<QRect> subRects = region.rects();
- for (int i = 0; i < subRects.count(); ++i) {
- TRect tr = qt_QRect2TRect(subRects[i]);
+ QWExtra *extra = widget->d_func()->extraData();
+ if (extra && !extra->inExpose) {
+ extra->inExpose = true; // Prevent DrawNow() from calling syncBackingStore() again
+ TRect tr = qt_QRect2TRect(region.boundingRect());
widget->winId()->DrawNow(tr);
+ extra->inExpose = false;
}
}