diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index 5d34c1712..2cd8764c4 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -745,6 +745,8 @@ namespace hex::plugin::builtin { } void ViewPatternEditor::parsePattern(const std::string &code) { + auto task = ImHexApi::Tasks::createTask("hex.builtin.view.pattern_editor.evaluating", 1); + this->m_runningParsers++; auto ast = this->m_parserRuntime->parseString(code); @@ -787,7 +789,10 @@ namespace hex::plugin::builtin { EventManager::post(); - std::thread([this, code] { + auto provider = ImHexApi::Provider::get(); + std::thread([this, code, provider] { + auto task = ImHexApi::Tasks::createTask("hex.builtin.view.pattern_editor.evaluating", 1); + std::map envVars; for (const auto &[id, name, value, type] : this->m_envVarEntries) envVars.insert({ name, value }); @@ -800,7 +805,6 @@ namespace hex::plugin::builtin { inVariables[name] = variable.value; } - auto provider = ImHexApi::Provider::get(); auto &runtime = provider->getPatternLanguageRuntime(); runtime.setDangerousFunctionCallHandler([this]{