From eda84d281600a856f5b0ce5f75d3aea4253512a1 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 20 Aug 2018 14:29:42 -0700 Subject: [PATCH] flag deleted avatar entities when replacing full map --- libraries/avatars/src/AvatarData.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 8677d31cb5..5094327c9a 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -2729,7 +2729,7 @@ void AvatarData::clearAvatarEntity(const QUuid& entityID, bool requiresRemovalFr } if (_clientTraitsHandler) { - // we have a client traits handler, so we need to mark this removed instance trait as changed + // we have a client traits handler, so we need to mark this removed instance trait as deleted // so that changes are sent next frame _clientTraitsHandler->markInstancedTraitDeleted(AvatarTraits::AvatarEntity, entityID); } @@ -2769,6 +2769,12 @@ void AvatarData::setAvatarEntityData(const AvatarEntityMap& avatarEntityData) { foreach (auto entityID, previousAvatarEntityIDs) { if (!_avatarEntityData.contains(entityID)) { _avatarEntityDetached.insert(entityID); + + if (_clientTraitsHandler) { + // we have a client traits handler, so we flag this removed entity as deleted + // so that changes are sent next frame + _clientTraitsHandler->markInstancedTraitDeleted(AvatarTraits::AvatarEntity, entityID); + } } } }