diff options
Diffstat (limited to 'src/declarative/fx/qfxpainteditem.cpp')
-rw-r--r-- | src/declarative/fx/qfxpainteditem.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/declarative/fx/qfxpainteditem.cpp b/src/declarative/fx/qfxpainteditem.cpp index 8323628..c79abbd 100644 --- a/src/declarative/fx/qfxpainteditem.cpp +++ b/src/declarative/fx/qfxpainteditem.cpp @@ -217,10 +217,10 @@ void QFxPaintedItem::paintContents(QPainter &p) bool oldAntiAliasing = p.testRenderHint(QPainter::Antialiasing); bool oldSmoothPixmap = p.testRenderHint(QPainter::SmoothPixmapTransform); - if (d->smooth) { - p.setRenderHints(QPainter::Antialiasing, true); + if (oldAntiAliasing) + p.setRenderHints(QPainter::Antialiasing, false); // cannot stitch properly otherwise + if (d->smooth) p.setRenderHints(QPainter::SmoothPixmapTransform, true); - } QRectF clipf = p.clipRegion().boundingRect(); if (clipf.isEmpty()) clipf = mapToScene(content); // ### Inefficient: Maps toScene and then fromScene @@ -286,10 +286,11 @@ void QFxPaintedItem::paintContents(QPainter &p) p.drawPixmap(target.toRect(), newitem->image); } } - if (d->smooth) { + + if (oldAntiAliasing) p.setRenderHints(QPainter::Antialiasing, oldAntiAliasing); + if (d->smooth) p.setRenderHints(QPainter::SmoothPixmapTransform, oldSmoothPixmap); - } } /*! |