diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index b05d4ee..d2fc15c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | |||
@@ -75,6 +75,7 @@ public abstract class BSPhysObject : PhysicsActor | |||
75 | public string TypeName { get; protected set; } | 75 | public string TypeName { get; protected set; } |
76 | 76 | ||
77 | public BSLinkset Linkset { get; set; } | 77 | public BSLinkset Linkset { get; set; } |
78 | public BSLinksetInfo LinksetInfo { get; set; } | ||
78 | 79 | ||
79 | // Return the object mass without calculating it or having side effects | 80 | // Return the object mass without calculating it or having side effects |
80 | public abstract float RawMass { get; } | 81 | public abstract float RawMass { get; } |
@@ -253,7 +254,9 @@ public abstract class BSPhysObject : PhysicsActor | |||
253 | SubscribedEventsMs = 0; | 254 | SubscribedEventsMs = 0; |
254 | PhysicsScene.TaintedObject(TypeName+".UnSubscribeEvents", delegate() | 255 | PhysicsScene.TaintedObject(TypeName+".UnSubscribeEvents", delegate() |
255 | { | 256 | { |
256 | CurrentCollisionFlags = BulletSimAPI.RemoveFromCollisionFlags2(PhysBody.ptr, CollisionFlags.BS_SUBSCRIBE_COLLISION_EVENTS); | 257 | // Make sure there is a body there because sometimes destruction happens in an un-ideal order. |
258 | if (PhysBody.HasPhysicalBody) | ||
259 | CurrentCollisionFlags = BulletSimAPI.RemoveFromCollisionFlags2(PhysBody.ptr, CollisionFlags.BS_SUBSCRIBE_COLLISION_EVENTS); | ||
257 | }); | 260 | }); |
258 | } | 261 | } |
259 | // Return 'true' if the simulator wants collision events | 262 | // Return 'true' if the simulator wants collision events |