diff options
author | Stéphane Cerveau <scerveau@connected-labs.com> | 2012-07-17 08:11:28 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-17 08:19:31 +0200 |
commit | 50e15401c94c850abed958549d98785e43529043 (patch) | |
tree | a26ab69cd62c14ac7ecb7d60329fe45256496f4d /src | |
parent | fbf010a26617b3986e9a76bd9c004403aebfcdc2 (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')
-rw-r--r-- | src/gui/painting/qpaintengine_blitter.cpp | 4 |
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; |