aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKai Uwe Broulik <kde@privat.broulik.de>2015-07-10 15:46:55 +0200
committerKai Uwe Broulik <kde@privat.broulik.de>2015-07-20 10:33:41 +0000
commit2c2eb24975bbf5c698d4d23c6a5060729339d9f3 (patch)
tree0e04d532031fedc2c0d73e015fc6a2cb16687ee7 /src
parent74e2ed4841ac35c9af806eeb0555d492ffc82cb8 (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.cpp5
-rw-r--r--src/quick/items/qquicktext_p_p.h1
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;