diff options
author | Kai Uwe Broulik <kde@privat.broulik.de> | 2015-07-10 15:46:55 +0200 |
---|---|---|
committer | Kai Uwe Broulik <kde@privat.broulik.de> | 2015-07-20 10:33:41 +0000 |
commit | 2c2eb24975bbf5c698d4d23c6a5060729339d9f3 (patch) | |
tree | 0e04d532031fedc2c0d73e015fc6a2cb16687ee7 /src | |
parent | 74e2ed4841ac35c9af806eeb0555d492ffc82cb8 (diff) |
qquicktext: Fix using CSS line-height with RichText
Only if lineHeight has explicitly been set it will override the block format.
Task-number: QTBUG-45204
Change-Id: I6e0d6dd70460cbf436dda3e5640bb9b1d16d7e5a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquicktext.cpp | 5 | ||||
-rw-r--r-- | src/quick/items/qquicktext_p_p.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index dd4f57bfdb..205571f2e7 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -91,6 +91,7 @@ QQuickTextPrivate::ExtraData::ExtraData() , minimumPointSize(12) , nbActiveDownloads(0) , maximumLineCount(INT_MAX) + , lineHeightValid(false) , lineHeightMode(QQuickText::ProportionalHeight) , fontSizeMode(QQuickText::FixedSize) { @@ -344,7 +345,7 @@ void QQuickTextPrivate::updateLayout() } textHasChanged = false; } - } else { + } else if (extra.isAllocated() && extra->lineHeightValid) { ensureDoc(); QTextBlockFormat::LineHeightTypes type; type = lineHeightMode() == QQuickText::FixedHeight ? QTextBlockFormat::FixedHeight : QTextBlockFormat::ProportionalHeight; @@ -2386,6 +2387,7 @@ void QQuickText::setLineHeight(qreal lineHeight) if ((d->lineHeight() == lineHeight) || (lineHeight < 0.0)) return; + d->extra.value().lineHeightValid = true; d->extra.value().lineHeight = lineHeight; d->implicitHeightValid = false; d->updateLayout(); @@ -2417,6 +2419,7 @@ void QQuickText::setLineHeightMode(LineHeightMode mode) return; d->implicitHeightValid = false; + d->extra.value().lineHeightValid = true; d->extra.value().lineHeightMode = mode; d->updateLayout(); diff --git a/src/quick/items/qquicktext_p_p.h b/src/quick/items/qquicktext_p_p.h index 9a6da3736e..cd14008728 100644 --- a/src/quick/items/qquicktext_p_p.h +++ b/src/quick/items/qquicktext_p_p.h @@ -95,6 +95,7 @@ public: int minimumPointSize; int nbActiveDownloads; int maximumLineCount; + bool lineHeightValid : 1; QQuickText::LineHeightMode lineHeightMode; QQuickText::FontSizeMode fontSizeMode; QList<QQuickStyledTextImgTag*> imgTags; |