Merge pull request #16218 from AndrewMeadows/fix-avatar-entities-in-void

BUGZ-1457: scripted edits of avatar entites should succeed when in the void
This commit is contained in:
Sam Gateau 2019-09-19 13:15:39 -07:00 committed by GitHub
commit 6fe2b7a3d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -481,11 +481,15 @@ QUuid EntityScriptingInterface::addEntityInternal(const EntityItemProperties& pr
_activityTracking.addedEntityCount++;
auto nodeList = DependencyManager::get<NodeList>();
const auto sessionID = nodeList->getSessionUUID();
auto sessionID = nodeList->getSessionUUID();
EntityItemProperties propertiesWithSimID = properties;
propertiesWithSimID.setEntityHostType(entityHostType);
if (entityHostType == entity::HostType::AVATAR) {
if (sessionID.isNull()) {
// null sessionID is unacceptable in this case
sessionID = AVATAR_SELF_ID;
}
propertiesWithSimID.setOwningAvatarID(sessionID);
} else if (entityHostType == entity::HostType::LOCAL) {
// For now, local entities are always collisionless
@ -801,7 +805,7 @@ QUuid EntityScriptingInterface::editEntity(const QUuid& id, const EntityItemProp
return;
}
if (entity->isAvatarEntity() && entity->getOwningAvatarID() != sessionID) {
if (entity->isAvatarEntity() && entity->getOwningAvatarID() != sessionID && entity->getOwningAvatarID() != AVATAR_SELF_ID) {
// don't edit other avatar's avatarEntities
properties = EntityItemProperties();
return;