38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
From fcba9fa861574f33e1d2e54d8c8d6da8062927cd Mon Sep 17 00:00:00 2001
|
|
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
Date: Wed, 23 Jan 2019 10:42:12 +0100
|
|
Subject: Fix regression in QPlainTextEdit updating
|
|
|
|
It was incorrectly counting a block having more than one line as having
|
|
changed visibility.
|
|
|
|
Fixes: QTBUG-69310
|
|
Change-Id: I502cda1d3e8a4efb1c14122353cc0a4731d8581c
|
|
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
---
|
|
src/widgets/widgets/qplaintextedit.cpp | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
|
|
index d6f6a364a8..57f2dec8f7 100644
|
|
--- a/src/widgets/widgets/qplaintextedit.cpp
|
|
+++ b/src/widgets/widgets/qplaintextedit.cpp
|
|
@@ -312,10 +312,11 @@ void QPlainTextDocumentLayout::documentChanged(int from, int charsRemoved, int c
|
|
QTextBlock block = changeStartBlock;
|
|
do {
|
|
block.clearLayout();
|
|
- const int lineCount = block.isVisible() ? 1 : 0;
|
|
- if (block.lineCount() != lineCount) {
|
|
+ if (block.isVisible()
|
|
+ ? (block.lineCount() == 0)
|
|
+ : (block.lineCount() > 0)) {
|
|
blockVisibilityChanged = true;
|
|
- block.setLineCount(lineCount);
|
|
+ block.setLineCount(block.isVisible() ? 1 : 0);
|
|
}
|
|
if (block == changeEndBlock)
|
|
break;
|
|
--
|
|
cgit v1.2.1
|
|
|