src/gui/painting/qbackingstore.cpp
branchRCL_3
changeset 7 3f74d0d4af4c
parent 4 3b1da2848fc7
--- a/src/gui/painting/qbackingstore.cpp	Mon Mar 15 12:43:09 2010 +0200
+++ b/src/gui/painting/qbackingstore.cpp	Thu Apr 08 14:19:33 2010 +0300
@@ -352,6 +352,10 @@
     // 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 @@
     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);