mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 14:29:13 +02:00
Merge pull request #7603 from zzmp/fix/entities-thread-crash
Fix intermittent crash on exit
This commit is contained in:
commit
986b4bea7c
2 changed files with 7 additions and 3 deletions
|
@ -71,8 +71,8 @@ EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterf
|
||||||
}
|
}
|
||||||
|
|
||||||
EntityTreeRenderer::~EntityTreeRenderer() {
|
EntityTreeRenderer::~EntityTreeRenderer() {
|
||||||
// NOTE: we don't need to delete _entitiesScriptEngine because it is registered with the application and has a
|
// NOTE: We don't need to delete _entitiesScriptEngine because
|
||||||
// signal tied to call it's deleteLater on doneRunning
|
// it is registered with ScriptEngines, which will call deleteLater for us.
|
||||||
}
|
}
|
||||||
|
|
||||||
void EntityTreeRenderer::clear() {
|
void EntityTreeRenderer::clear() {
|
||||||
|
|
|
@ -154,7 +154,11 @@ ScriptEngine::~ScriptEngine() {
|
||||||
|
|
||||||
void ScriptEngine::disconnectNonEssentialSignals() {
|
void ScriptEngine::disconnectNonEssentialSignals() {
|
||||||
disconnect();
|
disconnect();
|
||||||
connect(this, &ScriptEngine::doneRunning, thread(), &QThread::quit);
|
QThread* receiver;
|
||||||
|
// Ensure the thread should be running, and does exist
|
||||||
|
if (_isRunning && _isThreaded && (receiver = thread())) {
|
||||||
|
connect(this, &ScriptEngine::doneRunning, receiver, &QThread::quit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptEngine::runInThread() {
|
void ScriptEngine::runInThread() {
|
||||||
|
|
Loading…
Reference in a new issue