summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qbackingstore.cpp
diff options
context:
space:
mode:
authorDavid Boddie <dboddie@trolltech.com>2010-08-24 14:03:37 (GMT)
committerDavid Boddie <dboddie@trolltech.com>2010-08-24 14:03:37 (GMT)
commita8030e0c543e538652605557843b845f89b11589 (patch)
tree60ee6e2ed6e005a7cefd3ff5ba0bf1bbfb6930ac /src/gui/painting/qbackingstore.cpp
parentff6f17c92ad1bfa898bc89a5ccb65361d443c591 (diff)
parentf3771c5d91995b2beaa73bd3e3c783b76a887b50 (diff)
downloadQt-a8030e0c543e538652605557843b845f89b11589.zip
Qt-a8030e0c543e538652605557843b845f89b11589.tar.gz
Qt-a8030e0c543e538652605557843b845f89b11589.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7
Diffstat (limited to 'src/gui/painting/qbackingstore.cpp')
-rw-r--r--src/gui/painting/qbackingstore.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index 83751ed..ac9b994 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -352,7 +352,7 @@ void QWidgetBackingStore::beginPaint(QRegion &toClean, QWidget *widget, QWindowS
// Always flush repainted areas.
dirtyOnScreen += toClean;
-#ifdef Q_WS_QWS
+#if defined(Q_WS_QWS) && !defined(Q_BACKINGSTORE_SUBSURFACES)
toClean.translate(tlwOffset);
#endif
@@ -1294,7 +1294,12 @@ void QWidgetBackingStore::sync()
#ifdef Q_BACKINGSTORE_SUBSURFACES
QWindowSurface *subSurface = w->windowSurface();
BeginPaintInfo beginPaintInfo;
- beginPaint(toBePainted, w, subSurface, &beginPaintInfo, false);
+
+ QPoint off = w->mapTo(tlw, QPoint());
+ toBePainted.translate(off);
+ beginPaint(toBePainted, w, subSurface, &beginPaintInfo, true);
+ toBePainted.translate(-off);
+
if (beginPaintInfo.nothingToPaint)
continue;