diff --git a/renamingutility/renamingengine.cpp b/renamingutility/renamingengine.cpp index cb1dd37..226be8f 100644 --- a/renamingutility/renamingengine.cpp +++ b/renamingutility/renamingengine.cpp @@ -36,6 +36,17 @@ RenamingEngine::RenamingEngine(QObject *parent) connect(this, &RenamingEngine::changingsApplied, this, &RenamingEngine::processChangingsApplied); } +RenamingEngine::~RenamingEngine() +{ +#ifndef TAGEDITOR_NO_JSENGINE + for (auto *const child : children()) { + if (auto *const childThread = qobject_cast(child)) { + childThread->wait(); + } + } +#endif +} + #ifndef TAGEDITOR_NO_JSENGINE bool RenamingEngine::setProgram(const TAGEDITOR_JS_VALUE &program) { diff --git a/renamingutility/renamingengine.h b/renamingutility/renamingengine.h index af2dfee..3290d8d 100644 --- a/renamingutility/renamingengine.h +++ b/renamingutility/renamingengine.h @@ -56,6 +56,7 @@ class RenamingEngine : public QObject { public: explicit RenamingEngine(QObject *parent = nullptr); + ~RenamingEngine() override; FileSystemItem *rootItem() const; #ifndef TAGEDITOR_NO_JSENGINE