diff options
author | Lorn Potter <lorn.potter@nokia.com> | 2010-03-07 19:06:05 (GMT) |
---|---|---|
committer | Lorn Potter <lorn.potter@nokia.com> | 2010-03-07 19:06:05 (GMT) |
commit | 987ffcbad3337fd343febb305911298a37ed9b7e (patch) | |
tree | 3665886405a5bc5300ef8a1c0522780639f29843 /src/gui/painting/qbackingstore.cpp | |
parent | 4e605d83b5966b08a82eb54e733c2f37bca6b5d6 (diff) | |
parent | 987458462994497f764baf253baca0faabdb63cc (diff) | |
download | Qt-987ffcbad3337fd343febb305911298a37ed9b7e.zip Qt-987ffcbad3337fd343febb305911298a37ed9b7e.tar.gz Qt-987ffcbad3337fd343febb305911298a37ed9b7e.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7
Diffstat (limited to 'src/gui/painting/qbackingstore.cpp')
-rw-r--r-- | src/gui/painting/qbackingstore.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp index c73d9f4..8de9eaa 100644 --- a/src/gui/painting/qbackingstore.cpp +++ b/src/gui/painting/qbackingstore.cpp @@ -352,6 +352,10 @@ void QWidgetBackingStore::beginPaint(QRegion &toClean, QWidget *widget, QWindowS // Always flush repainted areas. dirtyOnScreen += toClean; +#ifdef Q_WS_QWS + toClean.translate(tlwOffset); +#endif + #ifdef QT_NO_PAINT_DEBUG windowSurface->beginPaint(toClean); #else @@ -766,7 +770,12 @@ void QWidgetBackingStore::paintWindowDecoration() if (decorationRegion.isEmpty()) return; - windowSurface->beginPaint(decorationRegion); + //### The QWS decorations do not always paint the pixels they promise to paint. + // This causes painting problems with QWSMemorySurface. Since none of the other + // window surfaces actually use the region, passing an empty region is a safe + // workaround. + + windowSurface->beginPaint(QRegion()); QPaintEngine *engine = windowSurface->paintDevice()->paintEngine(); Q_ASSERT(engine); |