diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-01-23 10:42:12 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-01-31 11:59:23 +0000 |
commit | fcba9fa861574f33e1d2e54d8c8d6da8062927cd (patch) | |
tree | 93412af30b1147589f949a55b0e816ca600da93f /src/widgets | |
parent | 02280535bea08395871722f733aaaed70c992260 (diff) |
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>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 7 |
1 files 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; |