aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ScintillaBase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/ScintillaBase.cxx')
-rw-r--r--src/ScintillaBase.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx
index 2f84db7cd..b4accacb9 100644
--- a/src/ScintillaBase.cxx
+++ b/src/ScintillaBase.cxx
@@ -527,17 +527,22 @@ void LexState::SetLexerModule(const LexerModule *lex) {
instance = 0;
}
lexCurrent = lex;
- instance = lexCurrent->Create();
+ if (lexCurrent)
+ instance = lexCurrent->Create();
pdoc->LexerChanged();
}
}
void LexState::SetLexer(uptr_t wParam) {
lexLanguage = wParam;
- const LexerModule *lex = Catalogue::Find(lexLanguage);
- if (!lex)
- lex = Catalogue::Find(SCLEX_NULL);
- SetLexerModule(lex);
+ if (lexLanguage == SCLEX_CONTAINER) {
+ SetLexerModule(0);
+ } else {
+ const LexerModule *lex = Catalogue::Find(lexLanguage);
+ if (!lex)
+ lex = Catalogue::Find(SCLEX_NULL);
+ SetLexerModule(lex);
+ }
}
void LexState::SetLexerLanguage(const char *languageName) {