aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-01-14 09:21:14 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-01-14 12:07:35 +0000
commit2fee8f1f310406af41fd104892be012d4e633b94 (patch)
tree4091cba7a54ecd0e2799176b1f578c9664b6a342 /src/quick
parent5ac036403299b7a31e3ea3d65be302f03c0a3fcb (diff)
Fix Text with ElideRight not being rendered when width goes from 0 to >0
QQuickText attempts to reduce relayouting. However, it was a bit to aggressive in doing that. If only the width changed in a geometrychange, it would not relayout if widthMaximum was true. However, if the width goes from 0 to greater than 0, the value of widthMaximum should have actually been false (but we would only notice this after relayouting). Thus, don't skip relayouting in that case. Amends 56ade46b4234bb828b8e4f9a6bf83b5687bd122e, which fixed the same issue, but for height. Fixes: QTBUG-83408 Fixes: QTBUG-33608 Change-Id: I14b610c703eb0496c71de7b12ad9fcf16842af64 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 127c79fb7fda16b9a48ce8c425d1700d1aa7502d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/items/qquicktext.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp
index 0546f80fd5..399f2009fd 100644
--- a/src/quick/items/qquicktext.cpp
+++ b/src/quick/items/qquicktext.cpp
@@ -2429,7 +2429,10 @@ void QQuickText::geometryChange(const QRectF &newGeometry, const QRectF &oldGeom
}
}
} else if (!heightChanged && widthMaximum) {
- goto geomChangeDone;
+ if (!qFuzzyIsNull(oldGeometry.width())) {
+ // no change to height, width is adequate and wasn't 0 before
+ goto geomChangeDone;
+ }
}
if (d->updateOnComponentComplete || d->textHasChanged) {