Don't trigger qBound assert in QExpandingLineEdit

Ignore the original width if it's larger than maximum.

Fixes: QTBUG-104383
Fixes: QTBUG-104565
Pick-to: 6.4 6.3 6.2
Change-Id: Id86d4f5bd1d50304d95c4711f1989f4dae416b69
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
Volker Hilsheimer 2022-06-24 11:14:09 +02:00
parent 688e8f63a2
commit 9fcd5f0790

View File

@ -555,7 +555,7 @@ void QExpandingLineEdit::resizeToContents()
int hintWidth = minimumWidth() + fontMetrics().horizontalAdvance(displayText());
int parentWidth = parent->width();
int maxWidth = isRightToLeft() ? position.x() + oldWidth : parentWidth - position.x();
int newWidth = qBound(originalWidth, hintWidth, maxWidth);
int newWidth = qBound(qMin(originalWidth, maxWidth), hintWidth, maxWidth);
if (widgetOwnsGeometry)
setMaximumWidth(newWidth);
if (isRightToLeft())