diff options
Diffstat (limited to 'OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs')
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs index fa3d33e..84195d3 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs | |||
@@ -301,7 +301,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
301 | // split static geometry collision into a grid as before | 301 | // split static geometry collision into a grid as before |
302 | private IntPtr[,] staticPrimspace; | 302 | private IntPtr[,] staticPrimspace; |
303 | 303 | ||
304 | private Object OdeLock; | 304 | public Object OdeLock; |
305 | private static Object SimulationLock; | 305 | private static Object SimulationLock; |
306 | 306 | ||
307 | public IMesher mesher; | 307 | public IMesher mesher; |
@@ -746,8 +746,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
746 | ); | 746 | ); |
747 | // do volume detection case | 747 | // do volume detection case |
748 | if ( | 748 | if ( |
749 | (p1 is OdePrim) && (((OdePrim)p1).m_isVolumeDetect) || | 749 | (p1.IsVolumeDtc || p2.IsVolumeDtc)) |
750 | (p2 is OdePrim) && (((OdePrim)p2).m_isVolumeDetect)) | ||
751 | { | 750 | { |
752 | collision_accounting_events(p1, p2, maxDepthContact); | 751 | collision_accounting_events(p1, p2, maxDepthContact); |
753 | return; | 752 | return; |
@@ -1024,9 +1023,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1024 | bool p1events = p1.SubscribedEvents(); | 1023 | bool p1events = p1.SubscribedEvents(); |
1025 | bool p2events = p2.SubscribedEvents(); | 1024 | bool p2events = p2.SubscribedEvents(); |
1026 | 1025 | ||
1027 | if (p1 is OdePrim && p1.IsVolumeDtc) | 1026 | if (p1.IsVolumeDtc) |
1028 | p2events = false; | 1027 | p2events = false; |
1029 | if (p2 is OdePrim && p2.IsVolumeDtc) | 1028 | if (p2.IsVolumeDtc) |
1030 | p1events = false; | 1029 | p1events = false; |
1031 | 1030 | ||
1032 | if (!(p2events || p1events)) | 1031 | if (!(p2events || p1events)) |
@@ -1725,6 +1724,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1725 | // checkThread(); | 1724 | // checkThread(); |
1726 | 1725 | ||
1727 | lock (SimulationLock) | 1726 | lock (SimulationLock) |
1727 | lock(OdeLock) | ||
1728 | { | 1728 | { |
1729 | // adjust number of iterations per step | 1729 | // adjust number of iterations per step |
1730 | try | 1730 | try |