diff options
author | nyamatongwe <devnull@localhost> | 2009-10-20 10:22:14 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2009-10-20 10:22:14 +0000 |
commit | 61881c28701b8149ac93e71b879a35e31fd95a4e (patch) | |
tree | daba8ecff151010ccb1e2a9e41a6d85bca0fb1ae | |
parent | a7cf8cc24c651504a50872280148fd5c48c50d18 (diff) | |
download | scintilla-mirror-61881c28701b8149ac93e71b879a35e31fd95a4e.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) { |