diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 65112186770..89823a7c126 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -4579,7 +4579,6 @@ void TextEditorWidgetPrivate::paintReplacement(PaintEventData &data, QPainter &p qreal top) const { QTextBlock nextBlock = data.block.next(); - QTextBlock nextVisibleBlock = TextEditor::nextVisibleBlock(data.block, data.doc); if (nextBlock.isValid() && !nextBlock.isVisible() && q->replacementVisible(data.block.blockNumber())) { const bool selectThis = (data.textCursor.hasSelection() @@ -4617,13 +4616,13 @@ void TextEditorWidgetPrivate::paintReplacement(PaintEventData &data, QPainter &p replacement.prepend(nextBlock.text().trimmed().left(1)); } - data.block = nextVisibleBlock.previous(); - if (!data.block.isValid()) - data.block = data.doc->lastBlock(); + QTextBlock nextVisibleBlock = TextEditor::nextVisibleBlock(data.block, data.doc); + if (!nextVisibleBlock.isValid()) + nextVisibleBlock = data.doc->lastBlock(); - if (TextBlockUserData *blockUserData = TextDocumentLayout::testUserData(data.block)) { + if (TextBlockUserData *blockUserData = TextDocumentLayout::testUserData(nextVisibleBlock)) { if (blockUserData->foldingEndIncluded()) { - QString right = data.block.text().trimmed(); + QString right = nextVisibleBlock.text().trimmed(); if (right.endsWith(QLatin1Char(';'))) { right.chop(1); right = right.trimmed();