diff options
-rw-r--r-- | src/gui/text/qtextengine.cpp | 3 | ||||
-rw-r--r-- | src/gui/text/qtextengine_p.h | 1 | ||||
-rw-r--r-- | src/gui/text/qtextlayout.cpp | 9 | ||||
-rw-r--r-- | tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp | 28 |
4 files changed, 1 insertions, 40 deletions
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; } /*! diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp index 25906ebf32..def7c88593 100644 --- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp @@ -125,7 +125,6 @@ private slots: void softHyphens_data(); void softHyphens(); void min_maximumWidth(); - void min_maximumWidthWithLineSeparator(); private: QFont testFont; @@ -2684,32 +2683,5 @@ void tst_QTextLayout::min_maximumWidth() } } -void tst_QTextLayout::min_maximumWidthWithLineSeparator() -{ - QTextLayout referenceLayout("text", testFont); - - QString multilineText("text\ntext\ntext"); - multilineText.replace('\n', QChar::LineSeparator); - QTextLayout layout(multilineText, testFont); - - for (int wrapMode = QTextOption::NoWrap; wrapMode <= QTextOption::WrapAtWordBoundaryOrAnywhere; ++wrapMode) { - QTextOption opt; - opt.setWrapMode((QTextOption::WrapMode)wrapMode); - - referenceLayout.setTextOption(opt); - referenceLayout.beginLayout(); - while (referenceLayout.createLine().isValid()) { } - referenceLayout.endLayout(); - - layout.setTextOption(opt); - layout.beginLayout(); - while (layout.createLine().isValid()) { } - layout.endLayout(); - - QCOMPARE(layout.minimumWidth(), referenceLayout.minimumWidth()); - QCOMPARE(layout.maximumWidth(), referenceLayout.maximumWidth()); - } -} - QTEST_MAIN(tst_QTextLayout) #include "tst_qtextlayout.moc" |