diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp index 0ca3362be7..8a57740857 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp +++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp @@ -339,14 +339,12 @@ void Avatar::removeAvatarEntitiesFromTree() { auto treeRenderer = DependencyManager::get(); EntityTreePointer entityTree = treeRenderer ? treeRenderer->getTree() : nullptr; if (entityTree) { - QList avatarEntityIDs; - _avatarEntitiesLock.withReadLock([&] { - avatarEntityIDs = _packedAvatarEntityData.keys(); - }); std::vector ids; - ids.reserve(avatarEntityIDs.size()); - foreach (auto id, avatarEntityIDs) { - ids.push_back(id); + ids.reserve(_packedAvatarEntityData.size()); + PackedAvatarEntityMap::const_iterator itr = _packedAvatarEntityData.constBegin(); + while (itr != _packedAvatarEntityData.constEnd()) { + ids.push_back(itr.key()); + ++itr; } bool force = true; bool ignoreWarnings = true;