From 0f38001d2864802ab83f6cf334bc85edbd112195 Mon Sep 17 00:00:00 2001 From: Clement Date: Wed, 29 May 2019 16:34:13 -0700 Subject: [PATCH] Clear traits ack data on node disconnect --- assignment-client/src/avatars/AvatarMixerClientData.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assignment-client/src/avatars/AvatarMixerClientData.cpp b/assignment-client/src/avatars/AvatarMixerClientData.cpp index 361f87a635..8c4ceb2288 100644 --- a/assignment-client/src/avatars/AvatarMixerClientData.cpp +++ b/assignment-client/src/avatars/AvatarMixerClientData.cpp @@ -428,7 +428,7 @@ void AvatarMixerClientData::resetSentTraitData(Node::LocalID nodeLocalID) { _lastSentTraitsTimestamps[nodeLocalID] = TraitsCheckTimestamp(); _perNodeSentTraitVersions[nodeLocalID].reset(); _perNodeAckedTraitVersions[nodeLocalID].reset(); - for (auto && pendingTraitVersions : _perNodePendingTraitVersions) { + for (auto&& pendingTraitVersions : _perNodePendingTraitVersions) { pendingTraitVersions.second[nodeLocalID].reset(); } } @@ -488,4 +488,8 @@ void AvatarMixerClientData::cleanupKilledNode(const QUuid&, Node::LocalID nodeLo removeLastBroadcastTime(nodeLocalID); _lastSentTraitsTimestamps.erase(nodeLocalID); _perNodeSentTraitVersions.erase(nodeLocalID); + _perNodeAckedTraitVersions.erase(nodeLocalID); + for (auto&& pendingTraitVersions : _perNodePendingTraitVersions) { + pendingTraitVersions.second.erase(nodeLocalID); + } }