diff options
| author | mitchell <unknown> | 2020-06-02 16:19:18 -0400 |
|---|---|---|
| committer | mitchell <unknown> | 2020-06-02 16:19:18 -0400 |
| commit | f52c3f4db66b87bfee5b4873737bfd6756716aef (patch) | |
| tree | de5d206e7f08d53e31ddfefdc7aa7f315d1a52bb | |
| parent | 5a013803f6098c3cae50b71e4081827a8916630e (diff) | |
| download | scintilla-mirror-f52c3f4db66b87bfee5b4873737bfd6756716aef.tar.gz | |
Fixed crashes on Win32 related to previous backport.
| -rw-r--r-- | include/ILexer.h | 2 | ||||
| -rw-r--r-- | src/ScintillaBase.cxx | 12 |
2 files changed, 1 insertions, 13 deletions
diff --git a/include/ILexer.h b/include/ILexer.h index ee83939ea..991c981e8 100644 --- a/include/ILexer.h +++ b/include/ILexer.h @@ -137,7 +137,7 @@ ILexer5 *lex; public: LexillaLexer(ILexer5 *lex_) : lex(lex_) {} virtual ~LexillaLexer() {} - void SCI_METHOD Release() override { lex->Release(); }; + void SCI_METHOD Release() override { lex->Release(); delete this; }; int SCI_METHOD Version() const override { return lex->Version(); } const char * SCI_METHOD PropertyNames() override { return lex->PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return lex->PropertyType(name); } diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 0ef8a5b30..92d8577a8 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -604,10 +604,6 @@ LexState::LexState(Document *pdoc_) : LexInterface(pdoc_) { LexState::~LexState() { if (instance) { instance->Release(); - LexillaLexer *iLexer5 = dynamic_cast<LexillaLexer *>(instance); - if (iLexer5) { - delete iLexer5; - } instance = nullptr; } } @@ -615,10 +611,6 @@ LexState::~LexState() { void LexState::SetInstance(ILexer *instance_) { if (instance) { instance->Release(); - LexillaLexer *iLexer5 = dynamic_cast<LexillaLexer *>(instance); - if (iLexer5) { - delete iLexer5; - } instance = nullptr; } instance = instance_; @@ -636,10 +628,6 @@ void LexState::SetLexerModule(const LexerModule *lex) { if (lex != lexCurrent) { if (instance) { instance->Release(); - LexillaLexer *iLexer5 = dynamic_cast<LexillaLexer *>(instance); - if (iLexer5) { - delete iLexer5; - } instance = nullptr; } interfaceVersion = lvOriginal; |
