From 59271881baada477fd970bd26fb5d3d3de45992a Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Fri, 3 Aug 2018 17:45:06 -0700 Subject: [PATCH 1/2] Create & destroy ScriptEngines on AC thread but move to main after creation --- assignment-client/src/Agent.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assignment-client/src/Agent.cpp b/assignment-client/src/Agent.cpp index f1bdaaad12..b9d1db2b3e 100644 --- a/assignment-client/src/Agent.cpp +++ b/assignment-client/src/Agent.cpp @@ -82,8 +82,6 @@ Agent::Agent(ReceivedMessage& message) : DependencyManager::set(); DependencyManager::set(); - DependencyManager::set(ScriptEngine::AGENT_SCRIPT); - DependencyManager::set(); DependencyManager::set(); @@ -162,6 +160,8 @@ void Agent::handleAudioPacket(QSharedPointer message) { static const QString AGENT_LOGGING_NAME = "agent"; void Agent::run() { + // Create ScriptEngines on threaded-assignment thread then move to main thread. + DependencyManager::set(ScriptEngine::AGENT_SCRIPT)->moveToThread(qApp->thread()); // make sure we request our script once the agent connects to the domain auto nodeList = DependencyManager::get(); @@ -497,7 +497,6 @@ void Agent::executeScript() { Frame::clearFrameHandler(AUDIO_FRAME_TYPE); Frame::clearFrameHandler(AVATAR_FRAME_TYPE); - DependencyManager::destroy(); setFinished(true); } @@ -848,7 +847,8 @@ void Agent::aboutToFinish() { DependencyManager::destroy(); DependencyManager::destroy(); DependencyManager::destroy(); - + DependencyManager::destroy(); + DependencyManager::destroy(); QMetaObject::invokeMethod(&_avatarAudioTimer, "stop"); // cleanup codec & encoder From df9c65e41070489a6897407d935225d050b28b23 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Tue, 7 Aug 2018 12:08:10 -0700 Subject: [PATCH 2/2] Move back RecordingScriptingInterface destruction --- assignment-client/src/Agent.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/assignment-client/src/Agent.cpp b/assignment-client/src/Agent.cpp index b9d1db2b3e..8c94cc1148 100644 --- a/assignment-client/src/Agent.cpp +++ b/assignment-client/src/Agent.cpp @@ -497,7 +497,7 @@ void Agent::executeScript() { Frame::clearFrameHandler(AUDIO_FRAME_TYPE); Frame::clearFrameHandler(AVATAR_FRAME_TYPE); - + DependencyManager::destroy(); setFinished(true); } @@ -847,7 +847,6 @@ void Agent::aboutToFinish() { DependencyManager::destroy(); DependencyManager::destroy(); DependencyManager::destroy(); - DependencyManager::destroy(); DependencyManager::destroy(); QMetaObject::invokeMethod(&_avatarAudioTimer, "stop");