From 2ecb7e8d29251382f3b00254aa24e9acc2674b62 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 13 Oct 2015 16:19:12 -0700 Subject: [PATCH] fix bug that was making action deletes fail --- assignment-client/src/AssignmentAction.cpp | 1 + interface/src/avatar/AvatarActionHold.cpp | 5 ----- libraries/entities/src/EntityItem.cpp | 6 ++++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/assignment-client/src/AssignmentAction.cpp b/assignment-client/src/AssignmentAction.cpp index 8b5650ee42..107a80cf14 100644 --- a/assignment-client/src/AssignmentAction.cpp +++ b/assignment-client/src/AssignmentAction.cpp @@ -25,6 +25,7 @@ AssignmentAction::~AssignmentAction() { void AssignmentAction::removeFromSimulation(EntitySimulation* simulation) const { simulation->removeAction(_id); + simulation->applyActionChanges(); } QByteArray AssignmentAction::serialize() const { diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index e4c63da026..60f1b31625 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -110,11 +110,6 @@ bool AvatarActionHold::updateArguments(QVariantMap arguments) { ok = true; auto myAvatar = DependencyManager::get()->getMyAvatar(); auto holderID = myAvatar->getSessionUUID(); - // QString holderIDString = - // EntityActionInterface::extractStringArgument("hold", arguments, "hand", ok, false); - // if (ok) { - // holderID = QUuid(holderIDString); - // } if (relativePosition != _relativePosition || relativeRotation != _relativeRotation diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index cb141c930d..3cd7055d1d 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -1720,9 +1720,11 @@ void EntityItem::setActionData(QByteArray actionData) { void EntityItem::setActionDataInternal(QByteArray actionData) { assertWriteLocked(); + if (_allActionsDataCache != actionData) { + _allActionsDataCache = actionData; + deserializeActionsInternal(); + } checkWaitingToRemove(); - _allActionsDataCache = actionData; - deserializeActionsInternal(); } void EntityItem::serializeActions(bool& success, QByteArray& result) const {