aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdeScene.cs21
1 files changed, 4 insertions, 17 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
index d1c1c25..e6cf915 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
@@ -1538,12 +1538,6 @@ namespace OpenSim.Region.Physics.OdePlugin
1538 { 1538 {
1539 // Reset the collision values to false 1539 // Reset the collision values to false
1540 // since we don't know if we're colliding yet 1540 // since we don't know if we're colliding yet
1541
1542 // For some reason this can happen. Don't ask...
1543 //
1544 if (chr == null)
1545 continue;
1546
1547 if (chr.Shell == IntPtr.Zero || chr.Body == IntPtr.Zero) 1541 if (chr.Shell == IntPtr.Zero || chr.Body == IntPtr.Zero)
1548 continue; 1542 continue;
1549 1543
@@ -2056,7 +2050,6 @@ namespace OpenSim.Region.Physics.OdePlugin
2056 //m_log.Debug("RemoveAllJointsConnectedToActor: start"); 2050 //m_log.Debug("RemoveAllJointsConnectedToActor: start");
2057 if (actor.SOPName != null && joints_connecting_actor.ContainsKey(actor.SOPName) && joints_connecting_actor[actor.SOPName] != null) 2051 if (actor.SOPName != null && joints_connecting_actor.ContainsKey(actor.SOPName) && joints_connecting_actor[actor.SOPName] != null)
2058 { 2052 {
2059
2060 List<PhysicsJoint> jointsToRemove = new List<PhysicsJoint>(); 2053 List<PhysicsJoint> jointsToRemove = new List<PhysicsJoint>();
2061 //TODO: merge these 2 loops (originally it was needed to avoid altering a list being iterated over, but it is no longer needed due to the joint request queue mechanism) 2054 //TODO: merge these 2 loops (originally it was needed to avoid altering a list being iterated over, but it is no longer needed due to the joint request queue mechanism)
2062 foreach (PhysicsJoint j in joints_connecting_actor[actor.SOPName]) 2055 foreach (PhysicsJoint j in joints_connecting_actor[actor.SOPName])
@@ -2801,10 +2794,7 @@ Console.WriteLine("AddPhysicsActorTaint to " + taintedprim.Name);
2801 2794
2802 // Move characters 2795 // Move characters
2803 foreach (OdeCharacter actor in _characters) 2796 foreach (OdeCharacter actor in _characters)
2804 { 2797 actor.Move(defects);
2805 if (actor != null)
2806 actor.Move(defects);
2807 }
2808 2798
2809 if (defects.Count != 0) 2799 if (defects.Count != 0)
2810 { 2800 {
@@ -2870,13 +2860,10 @@ Console.WriteLine("AddPhysicsActorTaint to " + taintedprim.Name);
2870 2860
2871 foreach (OdeCharacter actor in _characters) 2861 foreach (OdeCharacter actor in _characters)
2872 { 2862 {
2873 if (actor != null) 2863 if (actor.bad)
2874 { 2864 m_log.WarnFormat("[PHYSICS]: BAD Actor {0} in _characters list was not removed?", actor.m_uuid);
2875 if (actor.bad)
2876 m_log.WarnFormat("[PHYSICS]: BAD Actor {0} in _characters list was not removed?", actor.m_uuid);
2877 2865
2878 actor.UpdatePositionAndVelocity(defects); 2866 actor.UpdatePositionAndVelocity(defects);
2879 }
2880 } 2867 }
2881 2868
2882 if (defects.Count != 0) 2869 if (defects.Count != 0)