From 00fe0093156d19a55d5eefcf67dbbe8a73640933 Mon Sep 17 00:00:00 2001 From: Mitchell Foral Date: Tue, 14 Feb 2023 17:50:25 +1100 Subject: 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. --- doc/ScintillaHistory.html | 4 ++++ src/ScintillaBase.cxx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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. +
  • + 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. +
  • Release 5.3.3 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. -- cgit v1.2.3