diff options
author | UbitUmarov | 2015-11-12 21:24:14 +0000 |
---|---|---|
committer | UbitUmarov | 2015-11-12 21:24:14 +0000 |
commit | 9bd6befdeb1dd6983f0ccfd05e1ee12596d1c0be (patch) | |
tree | 38a57287241bab8cac4337faea4ff6cb8385ad1f /OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs | |
parent | Add some values to the SimulatorFeatures cap's OpenSimExtras section: (diff) | |
download | opensim-SC_OLD-9bd6befdeb1dd6983f0ccfd05e1ee12596d1c0be.zip opensim-SC_OLD-9bd6befdeb1dd6983f0ccfd05e1ee12596d1c0be.tar.gz opensim-SC_OLD-9bd6befdeb1dd6983f0ccfd05e1ee12596d1c0be.tar.bz2 opensim-SC_OLD-9bd6befdeb1dd6983f0ccfd05e1ee12596d1c0be.tar.xz |
add some safeguard checks
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs')
-rw-r--r-- | OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs | 7 |
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); |