BulletSim: add a lock to try and catch a native shape creation/destruction
race condition.user_profiles
parent
15360cbb6b
commit
c86e828dbf
|
@ -283,8 +283,13 @@ public class BSShapeNative : BSShape
|
||||||
public override BSShape GetReference(BSScene pPhysicsScene, BSPhysObject pPrim)
|
public override BSShape GetReference(BSScene pPhysicsScene, BSPhysObject pPrim)
|
||||||
{
|
{
|
||||||
// Native shapes are not shared so we return a new shape.
|
// Native shapes are not shared so we return a new shape.
|
||||||
return new BSShapeNative(CreatePhysicalNativeShape(pPhysicsScene, pPrim,
|
BSShape ret = null;
|
||||||
physShapeInfo.shapeType, (FixedShapeKey)physShapeInfo.shapeKey) );
|
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.
|
// Make this reference to the physical shape go away since native shapes are not shared.
|
||||||
|
|
Loading…
Reference in New Issue