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 {