aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMitchell Foral <unknown>2023-02-14 17:50:25 +1100
committerMitchell Foral <unknown>2023-02-14 17:50:25 +1100
commit00fe0093156d19a55d5eefcf67dbbe8a73640933 (patch)
tree88431d13aa3a39f46124688051e1ba7203250320
parent925f71967990878b61cbfc088e0a369dc2a61673 (diff)
downloadscintilla-mirror-00fe0093156d19a55d5eefcf67dbbe8a73640933.tar.gz
Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED
handler retriggered an autocompletion list, but with no items that match the typed character.
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--src/ScintillaBase.cxx2
2 files changed, 5 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 4050ea5cc..5caeb139a 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -598,6 +598,10 @@
This makes it easier to see and fix lexers that change styles mid-character, commonly because
they use fixed size buffers.
</li>
+ <li>
+ Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED
+ handler retriggered an autocompletion list, but with no items that match the typed character.
+ </li>
</ul>
<h3>
<a href="https://www.scintilla.org/scintilla533.zip">Release 5.3.3</a>
diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx
index 110e06489..f8b3aefda 100644
--- a/src/ScintillaBase.cxx
+++ b/src/ScintillaBase.cxx
@@ -83,7 +83,7 @@ void ScintillaBase::InsertCharacter(std::string_view sv, CharacterSource charSou
if (!isFillUp) {
Editor::InsertCharacter(sv, charSource);
}
- if (acActive) {
+ if (acActive && ac.Active()) { // if it was and still is active
AutoCompleteCharacterAdded(sv[0]);
// For fill ups add the character after the autocompletion has
// triggered so containers see the key so can display a calltip.