aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
index 42bd849..10a5588 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
@@ -1131,7 +1131,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1131 { 1131 {
1132 foreach (OdeCharacter chr in _characters) 1132 foreach (OdeCharacter chr in _characters)
1133 { 1133 {
1134 if (chr == null || chr.Body == IntPtr.Zero) 1134 if (chr == null || chr.Body == IntPtr.Zero || chr.collider == IntPtr.Zero )
1135 continue; 1135 continue;
1136 1136
1137 chr.IsColliding = false; 1137 chr.IsColliding = false;
@@ -1161,13 +1161,14 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1161 aprim.IsColliding = false; 1161 aprim.IsColliding = false;
1162 } 1162 }
1163 } 1163 }
1164 lock (_activeprims) 1164 lock (_activegroups)
1165 { 1165 {
1166 try 1166 try
1167 { 1167 {
1168 foreach (OdePrim aprim in _activegroups) 1168 foreach (OdePrim aprim in _activegroups)
1169 { 1169 {
1170 if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body)) 1170 if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body) &&
1171 aprim.collide_geom != IntPtr.Zero)
1171 { 1172 {
1172 d.SpaceCollide2(StaticSpace, aprim.collide_geom, IntPtr.Zero, nearCallback); 1173 d.SpaceCollide2(StaticSpace, aprim.collide_geom, IntPtr.Zero, nearCallback);
1173 d.SpaceCollide2(GroundSpace, aprim.collide_geom, IntPtr.Zero, nearCallback); 1174 d.SpaceCollide2(GroundSpace, aprim.collide_geom, IntPtr.Zero, nearCallback);