From 3c06efd09075c08fd9753f226a4342ea7a8356f8 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Fri, 1 Oct 2010 17:24:27 +1000 Subject: Only cache textlayout in paint engines that support transformations Task-number: QTBUG-14050 --- src/declarative/graphicsitems/qdeclarativetextlayout.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativetextlayout.cpp b/src/declarative/graphicsitems/qdeclarativetextlayout.cpp index 5972f92..722378e 100644 --- a/src/declarative/graphicsitems/qdeclarativetextlayout.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextlayout.cpp @@ -273,7 +273,12 @@ void QDeclarativeTextLayout::draw(QPainter *painter, const QPointF &p) { QPainterPrivate *priv = QPainterPrivate::get(painter); - if (!priv->extended) { + bool paintEngineSupportsTransformations = priv->extended && + (priv->extended->type() == QPaintEngine::OpenGL2 || + priv->extended->type() == QPaintEngine::OpenVG || + priv->extended->type() == QPaintEngine::OpenGL); + + if (!paintEngineSupportsTransformations) { QTextLayout::draw(painter, p); return; } -- cgit v0.12