diff options
author | Teravus Ovares | 2008-03-09 16:32:44 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-03-09 16:32:44 +0000 |
commit | 5b6eba968b25dae5c58b760990e1f0969b9c9193 (patch) | |
tree | aa297ef34ccf22e2b8e12bdc17db5f98f78c115f /OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |
parent | * Cleaned up some locking on the ODEPlugin to make it more developer friendly (diff) | |
download | opensim-SC-5b6eba968b25dae5c58b760990e1f0969b9c9193.zip opensim-SC-5b6eba968b25dae5c58b760990e1f0969b9c9193.tar.gz opensim-SC-5b6eba968b25dae5c58b760990e1f0969b9c9193.tar.bz2 opensim-SC-5b6eba968b25dae5c58b760990e1f0969b9c9193.tar.xz |
* Fixed the Link + Duplicate + Unlink both = 'ODE Invalid Argument in Collision Space Crash'
* Added: Console comment: [PHYSICS]: The scene reused a disposed PhysActor! *waves finger*, Don't be evil.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 5b1fd78..fc71802 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -238,7 +238,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
238 | 238 | ||
239 | internal void waitForSpaceUnlock(IntPtr space) | 239 | internal void waitForSpaceUnlock(IntPtr space) |
240 | { | 240 | { |
241 | while (d.SpaceLockQuery(space)){ } // Wait and do nothing | 241 | if (space != (IntPtr)0) |
242 | while (d.SpaceLockQuery(space)){ } // Wait and do nothing | ||
242 | } | 243 | } |
243 | 244 | ||
244 | /// <summary> | 245 | /// <summary> |
@@ -1014,6 +1015,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1014 | System.Threading.Thread.Sleep(20); | 1015 | System.Threading.Thread.Sleep(20); |
1015 | if (currentspace != space) | 1016 | if (currentspace != space) |
1016 | { | 1017 | { |
1018 | m_log.Info("[SPACE]: C:" + currentspace.ToString() + " g:" + geom.ToString()); | ||
1019 | if (currentspace == (IntPtr) 0) | ||
1020 | { | ||
1021 | int adfadf = 0; | ||
1022 | } | ||
1017 | if (d.SpaceQuery(currentspace, geom) && currentspace != (IntPtr) 0) | 1023 | if (d.SpaceQuery(currentspace, geom) && currentspace != (IntPtr) 0) |
1018 | { | 1024 | { |
1019 | if (d.GeomIsSpace(currentspace)) | 1025 | if (d.GeomIsSpace(currentspace)) |