aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-09-28 09:54:44 +0200
committerDavid Schulz <david.schulz@qt.io>2018-09-28 08:55:03 +0000
commitb6b756e737ace6819d322b6523b3f5d1ab12ebbd (patch)
treef45f98253ff2dfca2a70e4c4976b580de65e60d4
parent8d609692b397f2fad522ec35a430f92bf691f44d (diff)
Editor: Do not jump over invisible blocks in paintEvent sub routine
The paintEvent relies on invisible blocks to find collapsed blocks and paint the collapsed block popup. Task-number: QTCREATORBUG-21040 Change-Id: Id50e8602722fd807e57fa008cf9fd8106ffdafe1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r--src/plugins/texteditor/texteditor.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index 5e3d952db7..6dbb16db02 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -4577,7 +4577,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()
@@ -4615,13 +4614,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();