From 13267915029e855c6ad1371692784cbb56231cce Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 26 Jun 2015 16:55:16 -0700 Subject: [PATCH] add sanity check to PhysicalEntitySimulation::addAction --- libraries/physics/src/PhysicalEntitySimulation.cpp | 13 +++++++++++++ libraries/physics/src/PhysicalEntitySimulation.h | 1 + 2 files changed, 14 insertions(+) diff --git a/libraries/physics/src/PhysicalEntitySimulation.cpp b/libraries/physics/src/PhysicalEntitySimulation.cpp index 3719d7f082..874a68171a 100644 --- a/libraries/physics/src/PhysicalEntitySimulation.cpp +++ b/libraries/physics/src/PhysicalEntitySimulation.cpp @@ -235,6 +235,19 @@ void PhysicalEntitySimulation::handleCollisionEvents(CollisionEvents& collisionE } } + +void PhysicalEntitySimulation::addAction(EntityActionPointer action) { + if (_physicsEngine) { + lock(); + const QUuid& actionID = action->getID(); + if (_physicsEngine->getActionByID(actionID)) { + qDebug() << "warning -- PhysicalEntitySimulation::addAction -- adding an action that was already in _physicsEngine"; + } + unlock(); + EntitySimulation::addAction(action); + } +} + void PhysicalEntitySimulation::applyActionChanges() { if (_physicsEngine) { lock(); diff --git a/libraries/physics/src/PhysicalEntitySimulation.h b/libraries/physics/src/PhysicalEntitySimulation.h index 81ab9f5cce..9c439c53b2 100644 --- a/libraries/physics/src/PhysicalEntitySimulation.h +++ b/libraries/physics/src/PhysicalEntitySimulation.h @@ -32,6 +32,7 @@ public: void init(EntityTree* tree, PhysicsEngine* engine, EntityEditPacketSender* packetSender); + virtual void addAction(EntityActionPointer action); virtual void applyActionChanges(); protected: // only called by EntitySimulation