summaryrefslogtreecommitdiff
path: root/source/l/qt5/patches/qt5.qtbug-69310.patch
blob: b924627336434459c59b6b24274549600df18967 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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