BulletSim: add a lock to try and catch a native shape creation/destruction

race condition.
0.7.5-pf-bulletsim
Robert Adams 2013-05-13 13:05:27 -07:00
parent 783e8e4bab
commit 5b3e7156a3
1 changed files with 7 additions and 2 deletions

View File

@ -283,8 +283,13 @@ public class BSShapeNative : BSShape
public override BSShape GetReference(BSScene pPhysicsScene, BSPhysObject pPrim)
{
// Native shapes are not shared so we return a new shape.
return new BSShapeNative(CreatePhysicalNativeShape(pPhysicsScene, pPrim,
physShapeInfo.shapeType, (FixedShapeKey)physShapeInfo.shapeKey) );
BSShape ret = null;
lock (physShapeInfo)
{
ret = new BSShapeNative(CreatePhysicalNativeShape(pPhysicsScene, pPrim,
physShapeInfo.shapeType, (FixedShapeKey)physShapeInfo.shapeKey));
}
return ret;
}
// Make this reference to the physical shape go away since native shapes are not shared.