From 01650d0dc7c41de11abeba6349e5ff38ebee430f Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Fri, 11 May 2012 15:03:57 +0200 Subject: [PATCH] Fix font engine dependent text transformation The font engine used in supportsTransformation() should be the same as the one used in drawCachedGlyphs. If it's a multi font engine we should check the primary font engine inside it. Change-Id: I384aab3c58edfe2e7ae6fe7fe96bef766053d3ef Reviewed-by: Yoann Lopes --- src/gui/painting/qpainter.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index d6becf0..2a793a1 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5709,7 +5709,10 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText return; } - bool supportsTransformations = d->extended->supportsTransformations(staticText_d->font.d->engineForScript(QUnicodeTables::Common), + QFontEngine *fe = staticText_d->font.d->engineForScript(QUnicodeTables::Common); + if (fe->type() == QFontEngine::Multi) + fe = static_cast(fe)->engine(0); + bool supportsTransformations = d->extended->supportsTransformations(fe, d->state->matrix); if (supportsTransformations && !staticText_d->untransformedCoordinates) { staticText_d->untransformedCoordinates = true; -- 2.7.4