aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-03-09 16:32:44 +0000
committerTeravus Ovares2008-03-09 16:32:44 +0000
commit5b6eba968b25dae5c58b760990e1f0969b9c9193 (patch)
treeaa297ef34ccf22e2b8e12bdc17db5f98f78c115f /OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
parent* Cleaned up some locking on the ODEPlugin to make it more developer friendly (diff)
downloadopensim-SC_OLD-5b6eba968b25dae5c58b760990e1f0969b9c9193.zip
opensim-SC_OLD-5b6eba968b25dae5c58b760990e1f0969b9c9193.tar.gz
opensim-SC_OLD-5b6eba968b25dae5c58b760990e1f0969b9c9193.tar.bz2
opensim-SC_OLD-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 'OpenSim/Region/Physics/OdePlugin/OdePlugin.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs8
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))