core: fix shutdown sequence crashing

This commit is contained in:
outfoxxed 2024-06-18 17:03:38 -07:00
parent 3991726b9b
commit 9e58077c61
Signed by: outfoxxed
GPG Key ID: 4C88A185FB89301E
3 changed files with 10 additions and 4 deletions

View File

@ -84,6 +84,14 @@ void EngineGeneration::destroy() {
}
}
void EngineGeneration::shutdown() {
delete this->root;
this->root = nullptr;
delete this->engine;
this->engine = nullptr;
delete this;
}
void EngineGeneration::onReload(EngineGeneration* old) {
if (old != nullptr) {
// if the old generation holds the window incubation controller as the

View File

@ -51,6 +51,7 @@ public:
QuickshellGlobal* qsgInstance = nullptr;
void destroy();
void shutdown();
signals:
void filesChanged();

View File

@ -35,11 +35,8 @@ RootWrapper::RootWrapper(QString rootPath)
RootWrapper::~RootWrapper() {
// event loop may no longer be running so deleteLater is not an option
if (this->generation != nullptr) {
delete this->generation->root;
this->generation->root = nullptr;
this->generation->shutdown();
}
delete this->generation;
}
void RootWrapper::reloadGraph(bool hard) {