From 1a6127b865baf48f45aba2166fd15ac3e4b079ec Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 15 Jan 2010 19:04:44 +1000 Subject: Fix clipping without text cache. --- src/declarative/graphicsitems/qmlgraphicstext.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/declarative/graphicsitems/qmlgraphicstext.cpp b/src/declarative/graphicsitems/qmlgraphicstext.cpp index 58dab74..84f925d 100644 --- a/src/declarative/graphicsitems/qmlgraphicstext.cpp +++ b/src/declarative/graphicsitems/qmlgraphicstext.cpp @@ -829,7 +829,16 @@ void QmlGraphicsText::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidg y = (h - d->cachedLayoutSize.height()) / 2; break; } + bool needClip = !clip() && (d->cachedLayoutSize.width() > width() || + d->cachedLayoutSize.height() > height()); + + if (needClip) { + p->save(); + p->setClipRect(boundingRect(), Qt::IntersectClip); + } d->drawWrappedText(p, QPointF(0,y), false); + if (needClip) + p->restore(); } } -- cgit v0.12