diff options
author | David Boddie <dboddie@trolltech.com> | 2010-08-24 14:03:37 (GMT) |
---|---|---|
committer | David Boddie <dboddie@trolltech.com> | 2010-08-24 14:03:37 (GMT) |
commit | a8030e0c543e538652605557843b845f89b11589 (patch) | |
tree | 60ee6e2ed6e005a7cefd3ff5ba0bf1bbfb6930ac /src/gui/painting/qbackingstore.cpp | |
parent | ff6f17c92ad1bfa898bc89a5ccb65361d443c591 (diff) | |
parent | f3771c5d91995b2beaa73bd3e3c783b76a887b50 (diff) | |
download | Qt-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.cpp | 9 |
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; |