mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 12:28:02 +02:00
ThreadedAssignment calls virtual stop() upon domain disconnect
This commit is contained in:
parent
b60ea1f6a2
commit
64fc3e1091
7 changed files with 17 additions and 17 deletions
|
@ -336,7 +336,6 @@ void Agent::scriptRequestFinished() {
|
||||||
}
|
}
|
||||||
|
|
||||||
setFinished(true);
|
setFinished(true);
|
||||||
ThreadedAssignment::aboutToFinish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
request->deleteLater();
|
request->deleteLater();
|
||||||
|
@ -499,7 +498,6 @@ void Agent::executeScript() {
|
||||||
DependencyManager::destroy<RecordingScriptingInterface>();
|
DependencyManager::destroy<RecordingScriptingInterface>();
|
||||||
|
|
||||||
setFinished(true);
|
setFinished(true);
|
||||||
ThreadedAssignment::aboutToFinish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QUuid Agent::getSessionUUID() const {
|
QUuid Agent::getSessionUUID() const {
|
||||||
|
@ -827,14 +825,6 @@ void Agent::processAgentAvatarAudio() {
|
||||||
void Agent::aboutToFinish() {
|
void Agent::aboutToFinish() {
|
||||||
setIsAvatar(false);// will stop timers for sending identity packets
|
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 {
|
|
||||||
ThreadedAssignment::aboutToFinish();
|
|
||||||
}
|
|
||||||
|
|
||||||
// our entity tree is going to go away so tell that to the EntityScriptingInterface
|
// our entity tree is going to go away so tell that to the EntityScriptingInterface
|
||||||
DependencyManager::get<EntityScriptingInterface>()->setEntityTree(nullptr);
|
DependencyManager::get<EntityScriptingInterface>()->setEntityTree(nullptr);
|
||||||
|
|
||||||
|
@ -864,3 +854,9 @@ void Agent::aboutToFinish() {
|
||||||
_encoder = nullptr;
|
_encoder = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Agent::stop() {
|
||||||
|
if (_scriptEngine) {
|
||||||
|
_scriptEngine->stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -97,6 +97,12 @@ public slots:
|
||||||
*/
|
*/
|
||||||
bool isAvatar() const { return _isAvatar; }
|
bool isAvatar() const { return _isAvatar; }
|
||||||
|
|
||||||
|
/**jsdoc
|
||||||
|
* @function Agent.stop
|
||||||
|
* @deprecated This function is being removed from the API.
|
||||||
|
*/
|
||||||
|
Q_INVOKABLE virtual void stop() override;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void requestScript();
|
void requestScript();
|
||||||
void scriptRequestFinished();
|
void scriptRequestFinished();
|
||||||
|
|
|
@ -109,7 +109,6 @@ AudioMixer::AudioMixer(ReceivedMessage& message) :
|
||||||
|
|
||||||
void AudioMixer::aboutToFinish() {
|
void AudioMixer::aboutToFinish() {
|
||||||
DependencyManager::destroy<PluginManager>();
|
DependencyManager::destroy<PluginManager>();
|
||||||
ThreadedAssignment::aboutToFinish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioMixer::queueAudioPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer node) {
|
void AudioMixer::queueAudioPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer node) {
|
||||||
|
|
|
@ -72,7 +72,6 @@ void EntityServer::aboutToFinish() {
|
||||||
DependencyManager::get<ResourceManager>()->cleanup();
|
DependencyManager::get<ResourceManager>()->cleanup();
|
||||||
|
|
||||||
OctreeServer::aboutToFinish();
|
OctreeServer::aboutToFinish();
|
||||||
ThreadedAssignment::aboutToFinish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EntityServer::handleEntityPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) {
|
void EntityServer::handleEntityPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode) {
|
||||||
|
|
|
@ -587,6 +587,4 @@ void EntityScriptServer::aboutToFinish() {
|
||||||
_codec->releaseEncoder(_encoder);
|
_codec->releaseEncoder(_encoder);
|
||||||
_encoder = nullptr;
|
_encoder = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
ThreadedAssignment::aboutToFinish();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,8 @@ void ThreadedAssignment::setFinished(bool isFinished) {
|
||||||
|
|
||||||
// call our virtual aboutToFinish method - this gives the ThreadedAssignment subclass a chance to cleanup
|
// call our virtual aboutToFinish method - this gives the ThreadedAssignment subclass a chance to cleanup
|
||||||
aboutToFinish();
|
aboutToFinish();
|
||||||
|
|
||||||
|
emit finished();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,7 +120,7 @@ void ThreadedAssignment::checkInWithDomainServerOrExit() {
|
||||||
if (_numQueuedCheckIns >= MAX_SILENT_DOMAIN_SERVER_CHECK_INS) {
|
if (_numQueuedCheckIns >= MAX_SILENT_DOMAIN_SERVER_CHECK_INS) {
|
||||||
qCDebug(networking) << "At least" << MAX_SILENT_DOMAIN_SERVER_CHECK_INS << "have been queued without a response from domain-server"
|
qCDebug(networking) << "At least" << MAX_SILENT_DOMAIN_SERVER_CHECK_INS << "have been queued without a response from domain-server"
|
||||||
<< "Stopping the current assignment";
|
<< "Stopping the current assignment";
|
||||||
setFinished(true);
|
stop();
|
||||||
} else {
|
} else {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
QMetaObject::invokeMethod(nodeList.data(), "sendDomainServerCheckIn");
|
QMetaObject::invokeMethod(nodeList.data(), "sendDomainServerCheckIn");
|
||||||
|
@ -130,5 +132,5 @@ void ThreadedAssignment::checkInWithDomainServerOrExit() {
|
||||||
|
|
||||||
void ThreadedAssignment::domainSettingsRequestFailed() {
|
void ThreadedAssignment::domainSettingsRequestFailed() {
|
||||||
qCDebug(networking) << "Failed to retreive settings object from domain-server. Bailing on assignment.";
|
qCDebug(networking) << "Failed to retreive settings object from domain-server. Bailing on assignment.";
|
||||||
setFinished(true);
|
stop();
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ public:
|
||||||
~ThreadedAssignment() { stop(); }
|
~ThreadedAssignment() { stop(); }
|
||||||
|
|
||||||
void setFinished(bool isFinished);
|
void setFinished(bool isFinished);
|
||||||
virtual void aboutToFinish() { emit finished(); };
|
virtual void aboutToFinish() { };
|
||||||
void addPacketStatsAndSendStatsPacket(QJsonObject statsObject);
|
void addPacketStatsAndSendStatsPacket(QJsonObject statsObject);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
Loading…
Reference in a new issue