summaryrefslogtreecommitdiffstats
path: root/src/declarative/graphicsitems/qdeclarativetext.cpp
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2010-07-07 05:09:13 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2010-07-07 05:13:11 (GMT)
commit760dd5919ac3bafb5f17b700d5da9b3609318bbb (patch)
tree2363f4fa73ebdfedae275b59e78177525c030c79 /src/declarative/graphicsitems/qdeclarativetext.cpp
parente429284e7d6f6639d5e07c113c45f400a02a8fa1 (diff)
downloadQt-760dd5919ac3bafb5f17b700d5da9b3609318bbb.zip
Qt-760dd5919ac3bafb5f17b700d5da9b3609318bbb.tar.gz
Qt-760dd5919ac3bafb5f17b700d5da9b3609318bbb.tar.bz2
QDeclarativeText optimization.
updateSize() shouldn't trigger another updateSize(). Reviewed-by: Martin Jones
Diffstat (limited to 'src/declarative/graphicsitems/qdeclarativetext.cpp')
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index 200a680..9a281e5 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -772,7 +772,7 @@ void QDeclarativeText::geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry)
{
Q_D(QDeclarativeText);
- if (newGeometry.width() != oldGeometry.width()) {
+ if (!d->internalWidthUpdate && newGeometry.width() != oldGeometry.width()) {
if (d->wrapMode != QDeclarativeText::NoWrap || d->elideMode != QDeclarativeText::ElideNone) {
//re-elide if needed
if (d->singleline && d->elideMode != QDeclarativeText::ElideNone &&
@@ -872,7 +872,9 @@ void QDeclarativeTextPrivate::updateSize()
q->setBaselineOffset(fm.ascent() + yoff);
//### need to comfirm cost of always setting these for richText
+ internalWidthUpdate = true;
q->setImplicitWidth(size.width());
+ internalWidthUpdate = false;
q->setImplicitHeight(size.height());
emit q->paintedSizeChanged();
} else {