Fix intermittent crash on exit
Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 2 files). Show all
Unified · Split
| @@ -154,7 +154,11 @@ ScriptEngine::~ScriptEngine() { · 153 unmodified lines | |||
| 154 | 154 | ||
| 155 | void ScriptEngine::disconnectNonEssentialSignals() { | 155 | void ScriptEngine::disconnectNonEssentialSignals() { |
| 156 | disconnect(); | 156 | disconnect(); |
| 157 | connect(this, &ScriptEngine::doneRunning, thread(), &QThread::quit); | 157 | QThread* receiver; |
| 158 | // Ensure the thread should be running, and does exist | ||
| 159 | if (_isRunning && _isThreaded && (receiver = thread())) { | ||
| 160 | connect(this, &ScriptEngine::doneRunning, receiver, &QThread::quit); | ||
| 161 | } | ||
| 158 | } | 162 | } |
| 159 | 163 | ||
| 160 | void ScriptEngine::runInThread() { | 164 | void ScriptEngine::runInThread() { |