It fails at:
delete m_MotionState;
in CcdPhysicsController::~CcdPhysicsController()
Library trys to delete something that it does not create.
Imagine the situation:
class ATOM : public PHY_IMotionState
{
CcdPhysicsController *_pPhyCtrl;
}
Destructor of class ATOM executes delete _pPhyCtrl. Destructor of _pPhyCtrl executes delete m_MotionState (that is destructor of ATOM). We are entering into dead loop: ~ATOM calls ~CcdPhysicsController, ~CcdPhysicsController calls ~ATOM.
I think library should not delete objects that it does not create.
P.S. DirectX testbed is not working so far
