diff --git a/domain-server/src/main.cpp b/domain-server/src/main.cpp index a54328c3a7..96320dc704 100644 --- a/domain-server/src/main.cpp +++ b/domain-server/src/main.cpp @@ -193,12 +193,20 @@ int main(int argc, const char* argv[]) { if (!nodeList->soloNodeOfType(NODE_TYPE_AVATAR_MIXER) && std::find(::assignmentQueue.begin(), assignmentQueue.end(), &avatarMixerAssignment) == ::assignmentQueue.end()) { qDebug("Missing an avatar mixer and assignment not in queue. Adding.\n"); + + // reset the UUID so it is new + avatarMixerAssignment.resetUUID(); + ::assignmentQueue.push_front(&avatarMixerAssignment); } if (!nodeList->soloNodeOfType(NODE_TYPE_AUDIO_MIXER) && std::find(::assignmentQueue.begin(), ::assignmentQueue.end(), &audioMixerAssignment) == ::assignmentQueue.end()) { qDebug("Missing an audio mixer and assignment not in queue. Adding.\n"); + + // reset the UUID so it is new + audioMixerAssignment.resetUUID(); + ::assignmentQueue.push_front(&audioMixerAssignment); } @@ -386,6 +394,7 @@ int main(int argc, const char* argv[]) { // keep audio-mixer and avatar-mixer assignments in the queue // until we get a check-in from that GUID // but stick it at the back so the others have a chance to go out + ::assignmentQueue.push_back(sentAssignment); } } diff --git a/libraries/shared/src/Assignment.h b/libraries/shared/src/Assignment.h index 9e9f08fee0..d861beb537 100644 --- a/libraries/shared/src/Assignment.h +++ b/libraries/shared/src/Assignment.h @@ -54,6 +54,8 @@ public: const QUuid& getUUID() const { return _uuid; } QString getUUIDStringWithoutCurlyBraces() const; + void resetUUID() { _uuid = QUuid::createUuid(); } + Assignment::Command getCommand() const { return _command; } Assignment::Type getType() const { return _type; } Assignment::Location getLocation() const { return _location; }