From ce4c26c8d16fbc9fdafd8325b8a0b32bacd8cd93 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 23 Sep 2022 10:31:32 +0200 Subject: Revert "QTextLayout: fix maximumWidth() for a text containing line separator" This reverts commit 013c346a8dcbd618febb07884c64c740daf9754d. It was determined to cause a regression in Qt Quick: QTBUG-106899. In order to unblock integrations, we need to revert the change. It can be re-committed later when the problem has been analyzed and addressed. Pick-to: 6.2 6.4 Fixes: QTBUG-106899 Task-number: QTBUG-89557 Task-number: QTBUG-104986 Change-Id: I04054587f68ab39fdb038b02fc69ebfa3dc7d197 Reviewed-by: Volker Hilsheimer --- src/gui/text/qtextengine.cpp | 3 --- src/gui/text/qtextengine_p.h | 1 - src/gui/text/qtextlayout.cpp | 9 +-------- 3 files changed, 1 insertion(+), 12 deletions(-) (limited to 'src/gui/text') diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 718471a8f5..c6da4b8f4a 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -2603,7 +2603,6 @@ QTextEngine::LayoutData::LayoutData() hasBidi = false; layoutState = LayoutEmpty; haveCharAttributes = false; - previousLineManuallyWrapped = false; logClustersPtr = nullptr; available_glyphs = 0; } @@ -2638,7 +2637,6 @@ QTextEngine::LayoutData::LayoutData(const QString &str, void **stack_memory, int hasBidi = false; layoutState = LayoutEmpty; haveCharAttributes = false; - previousLineManuallyWrapped = false; } QTextEngine::LayoutData::~LayoutData() @@ -2724,7 +2722,6 @@ void QTextEngine::freeMemory() layoutData->hasBidi = false; layoutData->layoutState = LayoutEmpty; layoutData->haveCharAttributes = false; - layoutData->previousLineManuallyWrapped = false; layoutData->items.clear(); } if (specialData) diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index c207ab63ae..c653bfc92f 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -385,7 +385,6 @@ public: uint layoutState : 2; uint memory_on_stack : 1; uint haveCharAttributes : 1; - uint previousLineManuallyWrapped : 1; QString string; bool reallocate(int totalGlyphs); }; diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index b88c902aca..9cf5d8963b 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -1808,7 +1808,6 @@ void QTextLine::layout_helper(int maxGlyphs) lbh.logClusters = eng->layoutData->logClustersPtr; lbh.previousGlyph = 0; - bool manuallyWrapped = false; bool hasInlineObject = false; QFixed maxInlineObjectHeight = 0; @@ -1884,7 +1883,6 @@ void QTextLine::layout_helper(int maxGlyphs) lbh.calculateRightBearingForPreviousGlyph(); } line += lbh.tmpData; - manuallyWrapped = true; goto found; } else if (current.analysis.flags == QScriptAnalysis::Object) { lbh.whiteSpaceOrObject = true; @@ -2107,10 +2105,7 @@ found: eng->maxWidth = qMax(eng->maxWidth, line.textWidth); } else { eng->minWidth = qMax(eng->minWidth, lbh.minw); - if (eng->layoutData->previousLineManuallyWrapped) - eng->maxWidth = qMax(eng->maxWidth, line.textWidth); - else - eng->maxWidth += line.textWidth; + eng->maxWidth += line.textWidth; } if (line.textWidth > 0 && item < eng->layoutData->items.size()) @@ -2124,8 +2119,6 @@ found: line.justified = false; line.gridfitted = false; - - eng->layoutData->previousLineManuallyWrapped = manuallyWrapped; } /*! -- cgit v1.2.3