diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index b87329d5b6..eab28f500a 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -71,8 +71,8 @@ EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterf } EntityTreeRenderer::~EntityTreeRenderer() { - // NOTE: we don't need to delete _entitiesScriptEngine because it is registered with the application and has a - // signal tied to call it's deleteLater on doneRunning + // NOTE: We don't need to delete _entitiesScriptEngine because + // it is registered with ScriptEngines, which will call deleteLater for us. } void EntityTreeRenderer::clear() { diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 31047dd423..e03d577300 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -154,7 +154,9 @@ ScriptEngine::~ScriptEngine() { void ScriptEngine::disconnectNonEssentialSignals() { disconnect(); - connect(this, &ScriptEngine::doneRunning, thread(), &QThread::quit); + if (_isRunning && _isThreaded) { // ensure the thread is running + connect(this, &ScriptEngine::doneRunning, thread(), &QThread::quit); + } } void ScriptEngine::runInThread() {