summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorMaks Naumov <maksqwe1@ukr.net>2015-01-29 23:33:55 +0200
committerMaks Naumov <maksqwe1@ukr.net>2015-02-02 16:16:06 +0000
commitb81a52dc382265db0f650db7ae171d4ced0e6fce (patch)
treed648294896da83c5a54090424e83522a62b93ff7 /src/gui/painting
parent5be5e8ff3a4971e01d6b342a48fc382bc3bd5bdb (diff)
Reduce number of QRegion::rects() calls in QBlitterPaintEngine::fillRect()
And remove unused variable. Change-Id: Ife98bbe5b02e1d18639c100ed3e58985a2ea9218 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qpaintengine_blitter.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gui/painting/qpaintengine_blitter.cpp b/src/gui/painting/qpaintengine_blitter.cpp
index c5e85cc7c7..a894dab59b 100644
--- a/src/gui/painting/qpaintengine_blitter.cpp
+++ b/src/gui/painting/qpaintengine_blitter.cpp
@@ -602,12 +602,11 @@ void QBlitterPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
d->pmData->blittable()->drawPixmap(targetRect, pm, srcRect);
}
} else if (clipData->hasRegionClip) {
- QVector<QRect> clipRects = clipData->clipRegion.rects();
QRect unclippedTargetRect(x, y, blitWidth, blitHeight);
- QRegion intersectedRects = clipData->clipRegion.intersected(unclippedTargetRect);
-
- for (int i = 0; i < intersectedRects.rects().size(); ++i) {
- QRect targetRect = intersectedRects.rects().at(i);
+ const QVector<QRect> intersectedRects = clipData->clipRegion.intersected(unclippedTargetRect).rects();
+ const int intersectedSize = intersectedRects.size();
+ for (int i = 0; i < intersectedSize; ++i) {
+ const QRect &targetRect = intersectedRects.at(i);
if (!targetRect.isValid() || targetRect.isEmpty())
continue;
int tmpSrcX = srcX + (targetRect.x() - x);