diff options
author | nyamatongwe <unknown> | 2009-10-20 10:22:14 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2009-10-20 10:22:14 +0000 |
commit | da4c59394e12a8f18002dfad5f63fde7d87919be (patch) | |
tree | daba8ecff151010ccb1e2a9e41a6d85bca0fb1ae | |
parent | 21dd772912c1d99c9e7876caaaf3e0dba6fded73 (diff) | |
download | scintilla-mirror-da4c59394e12a8f18002dfad5f63fde7d87919be.tar.gz |
Ensure enough styles allocated when choosing a lexer.
Fixes bug #2881279.
-rw-r--r-- | src/ScintillaBase.cxx | 4 |
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) { |