From c551a41e0ab37621b86da260d1f51b1539290342 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Fri, 10 Feb 2017 10:55:54 -0800 Subject: [PATCH] restore exposure of setAvatarEntityData() to JS --- libraries/avatars/src/AvatarData.cpp | 16 +++++++++------- libraries/avatars/src/AvatarData.h | 3 +-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index a51221b6bd..b6839ee049 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -2243,15 +2243,17 @@ void AvatarData::setAvatarEntityData(const AvatarEntityMap& avatarEntityData) { return; } _avatarEntitiesLock.withWriteLock([&] { - // keep track of entities that were attached to this avatar but no longer are - AvatarEntityIDs previousAvatarEntityIDs = QSet::fromList(_avatarEntityData.keys()); + if (_avatarEntityData != avatarEntityData) { + // keep track of entities that were attached to this avatar but no longer are + AvatarEntityIDs previousAvatarEntityIDs = QSet::fromList(_avatarEntityData.keys()); - _avatarEntityData = avatarEntityData; - setAvatarEntityDataChanged(true); + _avatarEntityData = avatarEntityData; + setAvatarEntityDataChanged(true); - foreach (auto entityID, previousAvatarEntityIDs) { - if (!_avatarEntityData.contains(entityID)) { - _avatarEntityDetached.insert(entityID); + foreach (auto entityID, previousAvatarEntityIDs) { + if (!_avatarEntityData.contains(entityID)) { + _avatarEntityDetached.insert(entityID); + } } } }); diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 189f6432a9..b28501eead 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -538,6 +538,7 @@ public: glm::vec3 getGlobalBoundingBoxCorner() { return _globalPosition + _globalBoundingBoxOffset - _globalBoundingBoxDimensions; } Q_INVOKABLE AvatarEntityMap getAvatarEntityData() const; + Q_INVOKABLE void setAvatarEntityData(const AvatarEntityMap& avatarEntityData); void setAvatarEntityDataChanged(bool value) { _avatarEntityDataChanged = value; } AvatarEntityIDs getAndClearRecentlyDetachedIDs(); @@ -575,8 +576,6 @@ public slots: void resetLastSent() { _lastToByteArray = 0; } protected: - Q_INVOKABLE void setAvatarEntityData(const AvatarEntityMap& avatarEntityData); - void lazyInitHeadData(); float getDistanceBasedMinRotationDOT(glm::vec3 viewerPosition);