QSpanData: use isAffine() instead of rolling your own test

QSpanData did not properly check that whether the matrix is an affine
transformation or not. Therefore, qt paint engine chose the wrong
algorithm for drawing in case of a perpective matrix.

Change-Id: If0523bd45e86679a08874713da3fbe33a9852551
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
This commit is contained in:
Vitaliy Kharin 2012-12-10 18:45:31 +04:00 committed by The Qt Project
parent 508db17de3
commit 49ba35b990

View File

@ -4588,7 +4588,7 @@ void QSpanData::setupMatrix(const QTransform &matrix, int bilin)
txop = inv.type();
bilinear = bilin;
const bool affine = !m13 && !m23;
const bool affine = inv.isAffine();
fast_matrix = affine
&& m11 * m11 + m21 * m21 < 1e4
&& m12 * m12 + m22 * m22 < 1e4