physics-related fixes; should stabilize border crossings

This commit is contained in:
dan miller
2007-09-21 02:31:36 +00:00
parent 3eb1a23ac1
commit d3050724d8
3 changed files with 29 additions and 5 deletions

View File

@@ -152,9 +152,8 @@ namespace OpenSim.Region.Physics.OdePlugin
public override void RemoveAvatar(PhysicsActor actor)
{
OdeCharacter och = (OdeCharacter)actor;
d.BodyDestroy(och.BoundingCapsule);
_characters.Remove(och);
((OdeCharacter)actor).Destroy();
_characters.Remove((OdeCharacter)actor);
}
public override void RemovePrim(PhysicsActor prim)
@@ -449,6 +448,15 @@ namespace OpenSim.Region.Physics.OdePlugin
this._position.Y = vec.Y;
this._position.Z = vec.Z;
}
public void Destroy()
{
lock (OdeScene.OdeLock)
{
d.GeomDestroy(this.capsule_geom);
d.BodyDestroy(this.BoundingCapsule);
}
}
}
public class OdePrim : PhysicsActor