aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ScintillaBase.cxx
diff options
context:
space:
mode:
authornyamatongwe <unknown>2009-10-20 10:22:14 +0000
committernyamatongwe <unknown>2009-10-20 10:22:14 +0000
commitda4c59394e12a8f18002dfad5f63fde7d87919be (patch)
treedaba8ecff151010ccb1e2a9e41a6d85bca0fb1ae /src/ScintillaBase.cxx
parent21dd772912c1d99c9e7876caaaf3e0dba6fded73 (diff)
downloadscintilla-mirror-da4c59394e12a8f18002dfad5f63fde7d87919be.tar.gz
Ensure enough styles allocated when choosing a lexer.
Fixes bug #2881279.
Diffstat (limited to 'src/ScintillaBase.cxx')
-rw-r--r--src/ScintillaBase.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx
index 8b6e7a4cb..344b7e296 100644
--- a/src/ScintillaBase.cxx
+++ b/src/ScintillaBase.cxx
@@ -481,6 +481,8 @@ void ScintillaBase::SetLexer(uptr_t wParam) {
lexCurrent = LexerModule::Find(lexLanguage);
if (!lexCurrent)
lexCurrent = LexerModule::Find(SCLEX_NULL);
+ int bits = lexCurrent ? lexCurrent->GetStyleBitsNeeded() : 5;
+ vs.EnsureStyle((1 << bits) - 1);
}
void ScintillaBase::SetLexerLanguage(const char *languageName) {
@@ -490,6 +492,8 @@ void ScintillaBase::SetLexerLanguage(const char *languageName) {
lexCurrent = LexerModule::Find(SCLEX_NULL);
if (lexCurrent)
lexLanguage = lexCurrent->GetLanguage();
+ int bits = lexCurrent ? lexCurrent->GetStyleBitsNeeded() : 5;
+ vs.EnsureStyle((1 << bits) - 1);
}
void ScintillaBase::Colourise(int start, int end) {