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>
This commit is contained in:
parent
fbf010a266
commit
50e15401c9
@ -515,12 +515,12 @@ void QBlitterPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
x+=blitWidth;
|
x+=blitWidth;
|
||||||
if (x >= transformedRect.right()) {
|
if (qFuzzyCompare(x, transformedRect.right())) {
|
||||||
x = transformedRect.x();
|
x = transformedRect.x();
|
||||||
srcX = startX;
|
srcX = startX;
|
||||||
srcY = 0;
|
srcY = 0;
|
||||||
y += blitHeight;
|
y += blitHeight;
|
||||||
if (y >= transformedRect.bottom())
|
if (qFuzzyCompare(y, transformedRect.bottom()))
|
||||||
rectIsFilled = true;
|
rectIsFilled = true;
|
||||||
} else
|
} else
|
||||||
srcX = 0;
|
srcX = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user