History

Add blocking to script unload for client entity-scripts

Simon Walton committed 7 years ago

Commit 9aacd131 parent 10118804 files · +6 −5Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 4 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+3−2
@@ -2470,13 +2470,14 @@ QList<EntityItemID> ScriptEngine::getListOfEntityScriptIDs() { · 2469 unmodified lines
24702470 return _entityScripts.keys();
24712471 }
24722472
2473−void ScriptEngine::unloadAllEntityScripts() {
2473+void ScriptEngine::unloadAllEntityScripts(bool blockingCall) {
24742474 if (QThread::currentThread() != thread()) {
24752475 #ifdef THREAD_DEBUGGING
24762476 qCDebug(scriptengine) << "*** WARNING *** ScriptEngine::unloadAllEntityScripts() called on wrong thread [" << QThread::currentThread() << "], invoking on correct thread [" << thread() << "]";
24772477 #endif
24782478
2479− QMetaObject::invokeMethod(this, "unloadAllEntityScripts");
2479+ QMetaObject::invokeMethod(this, "unloadAllEntityScripts",
2480+ blockingCall ? Qt::BlockingQueuedConnection : Qt::QueuedConnection);
24802481 return;
24812482 }
24822483 #ifdef THREAD_DEBUGGING