From d5f3447fbc1e60fe91e7f175df3fd547316babb8 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 8 Feb 2016 16:22:41 -0800 Subject: [PATCH] when updating queryAACubes for children, use the lastEdited from the parent's properties --- interface/src/avatar/MyAvatar.cpp | 2 +- libraries/entities/src/EntityEditPacketSender.cpp | 2 ++ libraries/entities/src/EntityScriptingInterface.cpp | 3 +-- libraries/physics/src/EntityMotionState.cpp | 3 +-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 6d5fab2ebc..b3cfc10bd3 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -383,6 +383,7 @@ void MyAvatar::simulate(float deltaTime) { EntityTreeRenderer* entityTreeRenderer = qApp->getEntities(); EntityTreePointer entityTree = entityTreeRenderer ? entityTreeRenderer->getTree() : nullptr; if (entityTree) { + auto now = usecTimestampNow(); EntityEditPacketSender* packetSender = qApp->getEntityEditPacketSender(); MovingEntitiesOperator moveOperator(entityTree); forEachDescendant([&](SpatiallyNestablePointer object) { @@ -397,7 +398,6 @@ void MyAvatar::simulate(float deltaTime) { if (packetSender) { EntityItemProperties properties = entity->getProperties(); properties.setQueryAACubeDirty(); - auto now = usecTimestampNow(); properties.setLastEdited(now); packetSender->queueEditEntityMessage(PacketType::EntityEdit, entity->getID(), properties); entity->setLastBroadcast(usecTimestampNow()); diff --git a/libraries/entities/src/EntityEditPacketSender.cpp b/libraries/entities/src/EntityEditPacketSender.cpp index 91f21659ec..e28dc1e4fa 100644 --- a/libraries/entities/src/EntityEditPacketSender.cpp +++ b/libraries/entities/src/EntityEditPacketSender.cpp @@ -41,6 +41,8 @@ void EntityEditPacketSender::queueEditEntityMessage(PacketType type, EntityItemI return; // bail early } + assert(properties.getLastEdited() > 0); + QByteArray bufferOut(NLPacket::maxPayloadSize(type), 0); if (EntityItemProperties::encodeEntityEditPacket(type, modelID, properties, bufferOut)) { diff --git a/libraries/entities/src/EntityScriptingInterface.cpp b/libraries/entities/src/EntityScriptingInterface.cpp index 5279a205c4..802b21a23b 100644 --- a/libraries/entities/src/EntityScriptingInterface.cpp +++ b/libraries/entities/src/EntityScriptingInterface.cpp @@ -345,8 +345,7 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& EntityItemPointer entityDescendant = std::static_pointer_cast(descendant); EntityItemProperties newQueryCubeProperties; newQueryCubeProperties.setQueryAACube(descendant->getQueryAACube()); - auto now = usecTimestampNow(); - newQueryCubeProperties.setLastEdited(now); + newQueryCubeProperties.setLastEdited(properties.getLastEdited()); queueEntityMessage(PacketType::EntityEdit, descendant->getID(), newQueryCubeProperties); entityDescendant->setLastBroadcast(usecTimestampNow()); } diff --git a/libraries/physics/src/EntityMotionState.cpp b/libraries/physics/src/EntityMotionState.cpp index acd9ccd0c9..c798e07d52 100644 --- a/libraries/physics/src/EntityMotionState.cpp +++ b/libraries/physics/src/EntityMotionState.cpp @@ -527,8 +527,7 @@ void EntityMotionState::sendUpdate(OctreeEditPacketSender* packetSender, const Q if (descendant->computePuffedQueryAACube()) { EntityItemProperties newQueryCubeProperties; newQueryCubeProperties.setQueryAACube(descendant->getQueryAACube()); - auto now = usecTimestampNow(); - newQueryCubeProperties.setLastEdited(now); + newQueryCubeProperties.setLastEdited(properties.getLastEdited()); entityPacketSender->queueEditEntityMessage(PacketType::EntityEdit, descendant->getID(), newQueryCubeProperties); entityDescendant->setLastBroadcast(usecTimestampNow()); }