diff --git a/plugins/builtin/include/content/views/view_pattern_editor.hpp b/plugins/builtin/include/content/views/view_pattern_editor.hpp index dba427e25..8bb35133f 100644 --- a/plugins/builtin/include/content/views/view_pattern_editor.hpp +++ b/plugins/builtin/include/content/views/view_pattern_editor.hpp @@ -25,7 +25,7 @@ namespace hex::plugin::builtin { void drawContent() override; private: - pl::PatternLanguage *m_parserRuntime; + std::unique_ptr m_parserRuntime; std::vector m_possiblePatternFiles; u32 m_selectedPatternFile = 0; diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index 919e5351e..8cf17b2d0 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -76,7 +76,7 @@ namespace hex::plugin::builtin { ViewPatternEditor::ViewPatternEditor() : View("hex.builtin.view.pattern_editor.name") { - this->m_parserRuntime = new pl::PatternLanguage(); + this->m_parserRuntime = ContentRegistry::PatternLanguage::createDefaultRuntime(nullptr); this->m_textEditor.SetLanguageDefinition(PatternLanguage()); this->m_textEditor.SetShowWhitespaces(false); @@ -273,8 +273,6 @@ namespace hex::plugin::builtin { } ViewPatternEditor::~ViewPatternEditor() { - delete this->m_parserRuntime; - EventManager::unsubscribe(this); EventManager::unsubscribe(this); EventManager::unsubscribe(this);