diff options
author | 2017-04-07 18:10:12 -0400 | |
---|---|---|
committer | 2017-04-07 18:10:12 -0400 | |
commit | d255bd6711955192f98bed8bf0b98872dab7fca6 (patch) | |
tree | ad4d14573ece5e8117c9de7ae246ecf711f70680 /src/scintilla_backports/6131_a78e38849624.patch | |
parent | ea8dd79d8972d8a0e23d1be50cf26e3c2ccadda7 (diff) | |
download | textadept-d255bd6711955192f98bed8bf0b98872dab7fca6.tar.gz textadept-d255bd6711955192f98bed8bf0b98872dab7fca6.zip |
Effectively updated to Scintilla 3.7.4 with select backports to 3.7.3.
Scintilla 3.7.4 requires a C++11 compiler, which I do not have.
Diffstat (limited to 'src/scintilla_backports/6131_a78e38849624.patch')
-rw-r--r-- | src/scintilla_backports/6131_a78e38849624.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/scintilla_backports/6131_a78e38849624.patch b/src/scintilla_backports/6131_a78e38849624.patch new file mode 100644 index 00000000..9fb0f43d --- /dev/null +++ b/src/scintilla_backports/6131_a78e38849624.patch @@ -0,0 +1,56 @@ +# HG changeset patch +# User Neil <nyamatongwe@gmail.com> +# Date 1489619799 -39600 +# Node ID a78e38849624fca65cd615da3f976d22db03a48b +# Parent e8364d5495d60b675717c68f97cc527ab3fc95ee +Fix use-after-free in fold tags when top line folded then new top line inserted. +In SparseVector, string inserted at start then NULL inserted at start. + +diff -r e8364d5495d6 -r a78e38849624 doc/ScintillaHistory.html +--- a/doc/ScintillaHistory.html Sat Mar 11 10:41:32 2017 +1100 ++++ b/doc/ScintillaHistory.html Thu Mar 16 10:16:39 2017 +1100 +@@ -555,6 +555,9 @@ + For IMEs, do not clear selected text when there is no composition text to show. + </li> + <li> ++ Fix to crash with fold tags where line inserted at start. ++ </li> ++ <li> + Fix to stream selection mode when moving caret up or down. + <a href="http://sourceforge.net/p/scintilla/bugs/1905/">Bug #1905</a>. + </li> +diff -r e8364d5495d6 -r a78e38849624 src/SparseVector.h +--- a/src/SparseVector.h Sat Mar 11 10:41:32 2017 +1100 ++++ b/src/SparseVector.h Thu Mar 16 10:16:39 2017 +1100 +@@ -100,7 +100,8 @@ + if (partition == 0) { + // Inserting at start of document so ensure 0 + if (valueCurrent != T()) { +- ClearValue(0); ++ // Since valueCurrent is needed again, should not ClearValue ++ values->SetValueAt(0, T()); + starts->InsertPartition(1, 0); + values->InsertValue(1, 1, valueCurrent); + starts->InsertText(0, insertLength); +diff -r e8364d5495d6 -r a78e38849624 test/unit/testSparseVector.cxx +--- a/test/unit/testSparseVector.cxx Sat Mar 11 10:41:32 2017 +1100 ++++ b/test/unit/testSparseVector.cxx Thu Mar 16 10:16:39 2017 +1100 +@@ -89,6 +89,18 @@ + st.Check(); + } + ++ SECTION("InsertStringAtStartThenInsertSpaceAtStart") { ++ REQUIRE(1 == st.Elements()); ++ st.InsertSpace(0, 5); ++ st.SetValueAt(0, "3"); ++ REQUIRE(1 == st.Elements()); ++ REQUIRE("3----" == Representation(st)); ++ st.InsertSpace(0, 1); ++ REQUIRE(2 == st.Elements()); ++ REQUIRE("-3----" == Representation(st)); ++ st.Check(); ++ } ++ + SECTION("InsertAndDeleteAtEnd") { + REQUIRE(1 == st.Elements()); + st.InsertSpace(0, 5); |