Details
-
Bug
-
Resolution: Done
-
P2: Important
-
4.6.0
-
None
-
0fa878c4d2dfc25d4641a6654a9b482230559c3a
Description
Qt 4.6 RC, LGPL version.
In qpaintengine_raster.cpp, line 3243 the qSqrt is called. Argument can be negative:
if (ti.fontEngine->fontDef.pixelSize * qSqrt(s->matrix.determinant()) >= 64)
For transformations involving reflection, the matrix determinant can become negative. Here we need only the absolute value of the determinant. So, please, put s->matrix.determinant() into qAbs:
if (ti.fontEngine->fontDef.pixelSize * qSqrt(qAbs(s->matrix.determinant())) >= 64)