aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs8
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs2
2 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
index f8ee6c0..0d8eeec 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
@@ -1205,13 +1205,17 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1205 } 1205 }
1206 } 1206 }
1207 1207
1208 internal void clearSleeperCollisions()
1209 {
1210 if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 )
1211 CollisionVDTCEventsThisFrame.Clear();
1212 }
1213
1208 public void SendCollisions(int timestep) 1214 public void SendCollisions(int timestep)
1209 { 1215 {
1210 if (m_cureventsubscription < 50000) 1216 if (m_cureventsubscription < 50000)
1211 m_cureventsubscription += timestep; 1217 m_cureventsubscription += timestep;
1212 1218
1213 if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 && (Body == IntPtr.Zero || d.BodyIsEnabled(Body)))
1214 CollisionVDTCEventsThisFrame.Clear();
1215 1219
1216 if (m_cureventsubscription < m_eventsubscription) 1220 if (m_cureventsubscription < m_eventsubscription)
1217 return; 1221 return;
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
index 883038f..a4c3f92 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
@@ -1172,6 +1172,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1172 { 1172 {
1173 aprim.CollisionScore = 0; 1173 aprim.CollisionScore = 0;
1174 aprim.IsColliding = false; 1174 aprim.IsColliding = false;
1175 if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body))
1176 aprim.clearSleeperCollisions();
1175 } 1177 }
1176 } 1178 }
1177 lock (_activegroups) 1179 lock (_activegroups)