diff options
author | Eric Hameleers <alien@slackware.com> | 2019-02-14 22:55:59 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2019-02-14 22:55:59 +0000 |
commit | 61a9f337f4aecfec35c6e37e7a71abb10b124743 (patch) | |
tree | 85874cb8521604d3d13500645f089a05767eddc6 | |
parent | d0a75aa4792ea07d3f2566f62f5008e33cc80c7d (diff) | |
download | asb-61a9f337f4aecfec35c6e37e7a71abb10b124743.tar.gz asb-61a9f337f4aecfec35c6e37e7a71abb10b124743.tar.xz |
Initial revision
-rw-r--r-- | qt5/build/patches/qt5.delayed_highlight.patch | 72 | ||||
-rw-r--r-- | qt5/build/patches/qt5.qtbug-69310.patch | 37 |
2 files changed, 109 insertions, 0 deletions
diff --git a/qt5/build/patches/qt5.delayed_highlight.patch b/qt5/build/patches/qt5.delayed_highlight.patch new file mode 100644 index 00000000..201179bb --- /dev/null +++ b/qt5/build/patches/qt5.delayed_highlight.patch @@ -0,0 +1,72 @@ +From f8f0f3eef1151c9377a5c76ccfa6432e930e1307 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io> +Date: Mon, 14 Jan 2019 10:37:42 +0100 +Subject: QSyntaxHighlighter: cancel delayed highlight if done manually +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It was an implicit effect before which stopped working after +dec7961709c90f6977d2447f7fa6c6625af41cb2. Reintroduce it as some +projects used this side-effect as a way to abort the initial +highlighting. + +Change-Id: I5340ee9882a242bc8b5f7f843f1cfe793a65d357 +Reviewed-by: J?drzej Nowacki <jedrzej.nowacki@qt.io> +--- + src/gui/text/qsyntaxhighlighter.cpp | 1 + + .../qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp | 19 +++++++++++++++++++ + 2 files changed, 20 insertions(+) + +diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp +index b09f8b565a..0e07b69868 100644 +--- a/src/gui/text/qsyntaxhighlighter.cpp ++++ b/src/gui/text/qsyntaxhighlighter.cpp +@@ -376,6 +376,7 @@ void QSyntaxHighlighter::rehighlight() + + QTextCursor cursor(d->doc); + d->rehighlight(cursor, QTextCursor::End); ++ d->rehighlightPending = false; // user manually did a full rehighlight + } + + /*! +diff --git a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp +index 9d6ce78b24..c683ecd424 100644 +--- a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp ++++ b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp +@@ -82,6 +82,7 @@ private slots: + void preservePreeditArea(); + void task108530(); + void avoidUnnecessaryRehighlight(); ++ void avoidUnnecessaryDelayedRehighlight(); + void noContentsChangedDuringHighlight(); + void rehighlight(); + void rehighlightBlock(); +@@ -478,6 +479,24 @@ void tst_QSyntaxHighlighter::avoidUnnecessaryRehighlight() + QTRY_VERIFY(!hl->highlighted); + } + ++void tst_QSyntaxHighlighter::avoidUnnecessaryDelayedRehighlight() ++{ ++ // Having text in the document before creating the highlighter starts the delayed rehighlight ++ cursor.insertText("Hello World"); ++ ++ TestHighlighter *hl = new TestHighlighter(doc); ++ QVERIFY(!hl->highlighted); ++ ++ hl->rehighlight(); ++ QVERIFY(hl->highlighted); ++ ++ hl->highlighted = false; ++ // Process events, including delayed rehighlight emission ++ QCoreApplication::processEvents(); ++ // Should be cancelled and no extra rehighlight should be done ++ QVERIFY(!hl->highlighted); ++} ++ + void tst_QSyntaxHighlighter::noContentsChangedDuringHighlight() + { + QVector<QTextLayout::FormatRange> formats; +-- +cgit v1.2.1 + diff --git a/qt5/build/patches/qt5.qtbug-69310.patch b/qt5/build/patches/qt5.qtbug-69310.patch new file mode 100644 index 00000000..b9246273 --- /dev/null +++ b/qt5/build/patches/qt5.qtbug-69310.patch @@ -0,0 +1,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 + |