aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODECharacter.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 3f63477..a21b7eb 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -359,6 +359,9 @@ namespace OpenSim.Region.Physics.OdePlugin
359 CAPSULE_LENGTH = (SetSize.Z - ((SetSize.Z*0.52f))); // subtract 43% of the size 359 CAPSULE_LENGTH = (SetSize.Z - ((SetSize.Z*0.52f))); // subtract 43% of the size
360 OpenSim.Framework.Console.MainLog.Instance.Verbose("SIZE", CAPSULE_LENGTH.ToString()); 360 OpenSim.Framework.Console.MainLog.Instance.Verbose("SIZE", CAPSULE_LENGTH.ToString());
361 d.BodyDestroy(Body); 361 d.BodyDestroy(Body);
362
363 _parent_scene.waitForSpaceUnlock(_parent_scene.space);
364
362 d.GeomDestroy(Shell); 365 d.GeomDestroy(Shell);
363 AvatarGeomAndBodyCreation(_position.X, _position.Y, 366 AvatarGeomAndBodyCreation(_position.X, _position.Y,
364 _position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2), m_tensor); 367 _position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2), m_tensor);
@@ -389,6 +392,7 @@ namespace OpenSim.Region.Physics.OdePlugin
389 } 392 }
390 393
391 int dAMotorEuler = 1; 394 int dAMotorEuler = 1;
395 _parent_scene.waitForSpaceUnlock(_parent_scene.space);
392 Shell = d.CreateCapsule(_parent_scene.space, CAPSULE_RADIUS, CAPSULE_LENGTH); 396 Shell = d.CreateCapsule(_parent_scene.space, CAPSULE_RADIUS, CAPSULE_LENGTH);
393 d.MassSetCapsuleTotal(out ShellMass, m_mass, 2, CAPSULE_RADIUS, CAPSULE_LENGTH); 397 d.MassSetCapsuleTotal(out ShellMass, m_mass, 2, CAPSULE_RADIUS, CAPSULE_LENGTH);
394 Body = d.BodyCreate(_parent_scene.world); 398 Body = d.BodyCreate(_parent_scene.world);
@@ -781,6 +785,8 @@ namespace OpenSim.Region.Physics.OdePlugin
781 d.JointDestroy(Amotor); 785 d.JointDestroy(Amotor);
782 786
783 //kill the Geometry 787 //kill the Geometry
788 _parent_scene.waitForSpaceUnlock(_parent_scene.space);
789
784 d.GeomDestroy(Shell); 790 d.GeomDestroy(Shell);
785 _parent_scene.geom_name_map.Remove(Shell); 791 _parent_scene.geom_name_map.Remove(Shell);
786 792