still issues with volume detectors and sleeping bodies

httptests
UbitUmarov 2017-04-15 02:48:58 +01:00
parent 4f8f04d949
commit 156ef0bbe3
2 changed files with 8 additions and 2 deletions

View File

@ -1205,13 +1205,17 @@ namespace OpenSim.Region.PhysicsModule.ubOde
} }
} }
internal void clearSleeperCollisions()
{
if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 )
CollisionVDTCEventsThisFrame.Clear();
}
public void SendCollisions(int timestep) public void SendCollisions(int timestep)
{ {
if (m_cureventsubscription < 50000) if (m_cureventsubscription < 50000)
m_cureventsubscription += timestep; m_cureventsubscription += timestep;
if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 && (Body == IntPtr.Zero || d.BodyIsEnabled(Body)))
CollisionVDTCEventsThisFrame.Clear();
if (m_cureventsubscription < m_eventsubscription) if (m_cureventsubscription < m_eventsubscription)
return; return;

View File

@ -1172,6 +1172,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
{ {
aprim.CollisionScore = 0; aprim.CollisionScore = 0;
aprim.IsColliding = false; aprim.IsColliding = false;
if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body))
aprim.clearSleeperCollisions();
} }
} }
lock (_activegroups) lock (_activegroups)