Include transformed windows in quad transition

Only transformed quads may not be changed, so we skip those.
This commit is contained in:
Martin Gräßlin 2011-06-26 14:45:06 +02:00
parent 572368ea27
commit 55c1f3ae96

View file

@ -476,11 +476,15 @@ void SceneOpenGL::Window::performPaint(int mask, QRegion region, WindowPaintData
if (region.isEmpty())
return;
if (region != infiniteRegion() && !(mask & PAINT_WINDOW_TRANSFORMED)) {
if (region != infiniteRegion()) {
WindowQuadList quads;
const QRegion filterRegion = region.translated(-x(), -y());
// split all quads in bounding rect with the actual rects in the region
foreach (const WindowQuad &quad, data.quads) {
if (quad.isTransformed()) {
quads << quad;
continue;
}
foreach (const QRect &r, filterRegion.rects()) {
const QRectF rf(r);
const QRectF quadRect(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom()));