From d49424c4211cb9128c116c8a0a13d9873eee5176 Mon Sep 17 00:00:00 2001 From: "Teravus Ovares (Dan Olivares)" Date: Fri, 16 Oct 2009 21:20:55 -0400 Subject: [PATCH 1/2] * After seeing it repeat over and over again.. again, We won't inform the scenepresence that there was an issue so it doesn't try to make the capsule again. I have a feeling that this is some kind of object leak. We'll know for sure.. soon. --- OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 1fff8469ac..8002eb2661 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs @@ -1114,7 +1114,7 @@ namespace OpenSim.Region.Physics.OdePlugin { _parent_scene.BadCharacter(this); vec = new d.Vector3(_position.X, _position.Y, _position.Z); - base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem! + //base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem! m_log.WarnFormat("[ODEPLUGIN]: Avatar Null reference for Avatar: {0}", m_name); } From 01051daaab27cf4c4b5e3d5e8066caa61cf769a6 Mon Sep 17 00:00:00 2001 From: "Teravus Ovares (Dan Olivares)" Date: Fri, 16 Oct 2009 21:24:08 -0400 Subject: [PATCH 2/2] * One more tweak to inform the user that they may not be able to move until relogging. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 +++++--- OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index b468dde10f..c25fa552e8 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -3419,10 +3419,12 @@ namespace OpenSim.Region.Framework.Scenes private void OutOfBoundsCall(PhysicsVector pos) { - bool flying = m_physicsActor.Flying; - RemoveFromPhysicalScene(); + //bool flying = m_physicsActor.Flying; + //RemoveFromPhysicalScene(); - AddToPhysicalScene(flying); + //AddToPhysicalScene(flying); + if (ControllingClient != null) + ControllingClient.SendAgentAlertMessage("Physics is having a problem with your avatar. You may not be able to move until you relog.",true); } // Event called by the physics plugin to tell the avatar about a collision. diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 8002eb2661..1fff8469ac 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs @@ -1114,7 +1114,7 @@ namespace OpenSim.Region.Physics.OdePlugin { _parent_scene.BadCharacter(this); vec = new d.Vector3(_position.X, _position.Y, _position.Z); - //base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem! + base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem! m_log.WarnFormat("[ODEPLUGIN]: Avatar Null reference for Avatar: {0}", m_name); }