From c2ea62dd342ced6da3a634768c4d92dc3067a3fa Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Fri, 12 Jun 2015 06:08:45 +0200 Subject: QPicturePaintEngine: Avoid slow QPainter::clipRegion QPainter::clipRegion() is expensive especially for certain clip paths. QPainter::clipBoundingRect() does not promise to return an exact (tight) bound but delivers the desired result quickly. In addition, this avoids discretization. Change-Id: Ib35406edc12fb8206ca978bc140a7c5e21279ca2 Task-number: QTBUG-46578 Reviewed-by: Gunnar Sletta --- src/gui/image/qpaintengine_pic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/image/qpaintengine_pic.cpp b/src/gui/image/qpaintengine_pic.cpp index b17fb73133..9ab1e2c30b 100644 --- a/src/gui/image/qpaintengine_pic.cpp +++ b/src/gui/image/qpaintengine_pic.cpp @@ -342,7 +342,7 @@ void QPicturePaintEngine::writeCmdLength(int pos, const QRectF &r, bool corr) } br = painter()->transform().mapRect(br); if (painter()->hasClipping()) { - QRect cr = painter()->clipRegion().boundingRect(); + QRectF cr = painter()->clipBoundingRect(); br &= cr; } -- cgit v1.2.3