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

race condition.
user_profiles
Robert Adams 2013-05-13 13:05:27 -07:00
parent 15360cbb6b
commit c86e828dbf
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.