mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 18:55:58 +08:00
physics-related fixes; should stabilize border crossings
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user