From b60ea1f6a28f5a67b60928872f12185a53d1f9b3 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Mon, 16 Jul 2018 18:25:46 -0700 Subject: [PATCH] Fixes from reviewer Call base version from aboutToFinish(); add comment for script-engine logic. --- assignment-client/src/Agent.cpp | 8 +++++--- assignment-client/src/assets/AssetServer.cpp | 2 +- assignment-client/src/audio/AudioMixer.cpp | 2 +- assignment-client/src/entities/EntityServer.cpp | 3 +-- assignment-client/src/scripts/EntityScriptServer.cpp | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/assignment-client/src/Agent.cpp b/assignment-client/src/Agent.cpp index ca2cf30d68..0be691662d 100644 --- a/assignment-client/src/Agent.cpp +++ b/assignment-client/src/Agent.cpp @@ -336,7 +336,7 @@ void Agent::scriptRequestFinished() { } setFinished(true); - emit finished(); + ThreadedAssignment::aboutToFinish(); } request->deleteLater(); @@ -499,7 +499,7 @@ void Agent::executeScript() { DependencyManager::destroy(); setFinished(true); - emit finished(); + ThreadedAssignment::aboutToFinish(); } QUuid Agent::getSessionUUID() const { @@ -827,10 +827,12 @@ void Agent::processAgentAvatarAudio() { void Agent::aboutToFinish() { setIsAvatar(false);// will stop timers for sending identity packets + // If script engine not started yet then finish up, else will be done when + // script engine exits. if (_scriptEngine) { _scriptEngine->stop(); } else { - emit finished(); + ThreadedAssignment::aboutToFinish(); } // our entity tree is going to go away so tell that to the EntityScriptingInterface diff --git a/assignment-client/src/assets/AssetServer.cpp b/assignment-client/src/assets/AssetServer.cpp index 7999d55fae..4ff4078255 100644 --- a/assignment-client/src/assets/AssetServer.cpp +++ b/assignment-client/src/assets/AssetServer.cpp @@ -342,7 +342,7 @@ void AssetServer::aboutToFinish() { while (_pendingBakes.size() > 0) { QCoreApplication::processEvents(); } - emit finished(); + ThreadedAssignment::aboutToFinish(); } void AssetServer::run() { diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index 2db5a296f7..ec9f26b53c 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -109,7 +109,7 @@ AudioMixer::AudioMixer(ReceivedMessage& message) : void AudioMixer::aboutToFinish() { DependencyManager::destroy(); - emit finished(); + ThreadedAssignment::aboutToFinish(); } void AudioMixer::queueAudioPacket(QSharedPointer message, SharedNodePointer node) { diff --git a/assignment-client/src/entities/EntityServer.cpp b/assignment-client/src/entities/EntityServer.cpp index 4162a4f156..6303cafde8 100644 --- a/assignment-client/src/entities/EntityServer.cpp +++ b/assignment-client/src/entities/EntityServer.cpp @@ -72,8 +72,7 @@ void EntityServer::aboutToFinish() { DependencyManager::get()->cleanup(); OctreeServer::aboutToFinish(); - - emit finished(); + ThreadedAssignment::aboutToFinish(); } void EntityServer::handleEntityPacket(QSharedPointer message, SharedNodePointer senderNode) { diff --git a/assignment-client/src/scripts/EntityScriptServer.cpp b/assignment-client/src/scripts/EntityScriptServer.cpp index a1258fe8db..b40ffbcfb3 100644 --- a/assignment-client/src/scripts/EntityScriptServer.cpp +++ b/assignment-client/src/scripts/EntityScriptServer.cpp @@ -588,5 +588,5 @@ void EntityScriptServer::aboutToFinish() { _encoder = nullptr; } - emit finished(); + ThreadedAssignment::aboutToFinish(); }