summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_blitter.cpp
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@connected-labs.com>2012-07-17 08:11:28 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-17 08:19:31 +0200
commit50e15401c94c850abed958549d98785e43529043 (patch)
treea26ab69cd62c14ac7ecb7d60329fe45256496f4d /src/gui/painting/qpaintengine_blitter.cpp
parentfbf010a26617b3986e9a76bd9c004403aebfcdc2 (diff)
Fix infinite loop due to FPU limitation
Bug detected with animatedtiles in example/animation. In qpa mode, using some specific resolution of directfb such as 800x600 causes a bug in FillRectF where there is an infinite loop due to scalabilty of qreal value: One is rounded and the other not. Change-Id: I1707e53f34aeeadc0f0fc07b1dca148fbe05b5f1 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/painting/qpaintengine_blitter.cpp')
-rw-r--r--src/gui/painting/qpaintengine_blitter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/painting/qpaintengine_blitter.cpp b/src/gui/painting/qpaintengine_blitter.cpp
index d0b5fd77d9..ed087d833a 100644
--- a/src/gui/painting/qpaintengine_blitter.cpp
+++ b/src/gui/painting/qpaintengine_blitter.cpp
@@ -515,12 +515,12 @@ void QBlitterPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
}
}
x+=blitWidth;
- if (x >= transformedRect.right()) {
+ if (qFuzzyCompare(x, transformedRect.right())) {
x = transformedRect.x();
srcX = startX;
srcY = 0;
y += blitHeight;
- if (y >= transformedRect.bottom())
+ if (qFuzzyCompare(y, transformedRect.bottom()))
rectIsFilled = true;
} else
srcX = 0;