summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qbackingstore.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-03-11 08:21:15 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2010-03-11 08:21:15 (GMT)
commit327c36acdba0422e93d99dc71cb3f5238d326977 (patch)
treed85c7b186af9a9324bb4acc5e36d630966876fee /src/gui/painting/qbackingstore.cpp
parentb9f8c1491550fe671d1809481ad7f70737034a3b (diff)
parent16e8cc808ae7087aadd95855c97d715941711b45 (diff)
downloadQt-327c36acdba0422e93d99dc71cb3f5238d326977.zip
Qt-327c36acdba0422e93d99dc71cb3f5238d326977.tar.gz
Qt-327c36acdba0422e93d99dc71cb3f5238d326977.tar.bz2
Merge remote branch 'origin/4.7' into 4.7-lighthouse
Conflicts: src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication_p.h src/gui/kernel/qwidget.cpp
Diffstat (limited to 'src/gui/painting/qbackingstore.cpp')
-rw-r--r--src/gui/painting/qbackingstore.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index cb0ff55..f2cd7e6 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -367,6 +367,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
@@ -784,7 +788,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);