aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-02-21 14:51:39 +0000
committerTeravus Ovares2008-02-21 14:51:39 +0000
commit640ad259d4ee1bd9cdf56714f857811c73b09383 (patch)
tree4209df9e4abdebe7ed8d178e48b4e5f7ecd9fed2 /OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
parentScriptEngine changes in locking. Another step in direction of shared threads. (diff)
downloadopensim-SC-640ad259d4ee1bd9cdf56714f857811c73b09383.zip
opensim-SC-640ad259d4ee1bd9cdf56714f857811c73b09383.tar.gz
opensim-SC-640ad259d4ee1bd9cdf56714f857811c73b09383.tar.bz2
opensim-SC-640ad259d4ee1bd9cdf56714f857811c73b09383.tar.xz
* A few additional null checks in the Physics Scene and PhysicsActor so we don't try to enumerate dead null ODECharacter objects when things get *really* slow.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index a8ee20d..b3780fd 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -1272,7 +1272,8 @@ namespace OpenSim.Region.Physics.OdePlugin
1272 { 1272 {
1273 foreach (OdeCharacter actor in _characters) 1273 foreach (OdeCharacter actor in _characters)
1274 { 1274 {
1275 actor.Move(timeStep); 1275 if (actor != null)
1276 actor.Move(timeStep);
1276 } 1277 }
1277 1278
1278 collision_optimized(timeStep); 1279 collision_optimized(timeStep);
@@ -1300,7 +1301,8 @@ namespace OpenSim.Region.Physics.OdePlugin
1300 1301
1301 foreach (OdeCharacter actor in _characters) 1302 foreach (OdeCharacter actor in _characters)
1302 { 1303 {
1303 actor.UpdatePositionAndVelocity(); 1304 if (actor != null)
1305 actor.UpdatePositionAndVelocity();
1304 } 1306 }
1305 1307
1306 if (!ode.lockquery()) 1308 if (!ode.lockquery())