Merge pull request #13964 from dback2/reloadScriptQThreadCrash

Destroy script thread on finish instead of on ScriptEngine destroyed
This commit is contained in:
John Conklin II 2018-09-10 14:11:37 -07:00 committed by GitHub
commit 558f3dc7e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -271,7 +271,7 @@ void ScriptEngine::disconnectNonEssentialSignals() {
// Ensure the thread should be running, and does exist
if (_isRunning && _isThreaded && (workerThread = thread())) {
connect(this, &ScriptEngine::doneRunning, workerThread, &QThread::quit);
connect(this, &QObject::destroyed, workerThread, &QObject::deleteLater);
connect(workerThread, &QThread::finished, workerThread, &QObject::deleteLater);
}
}
@ -386,7 +386,7 @@ void ScriptEngine::runInThread() {
// disconnectNonEssentialSignals() method
connect(workerThread, &QThread::started, this, &ScriptEngine::run);
connect(this, &ScriptEngine::doneRunning, workerThread, &QThread::quit);
connect(this, &QObject::destroyed, workerThread, &QObject::deleteLater);
connect(workerThread, &QThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
}