diff options
Diffstat (limited to 'OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs b/OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs index 7314107..712029e 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs | |||
@@ -109,8 +109,17 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
109 | ODERayCastRequest[] reqs = m_PendingRequests.ToArray(); | 109 | ODERayCastRequest[] reqs = m_PendingRequests.ToArray(); |
110 | for (int i = 0; i < reqs.Length; i++) | 110 | for (int i = 0; i < reqs.Length; i++) |
111 | { | 111 | { |
112 | if (reqs[i].callbackMethod != null) // quick optimization here, don't raycast | 112 | try |
113 | RayCast(reqs[i]); // if there isn't anyone to send results | 113 | { |
114 | if (reqs[i].callbackMethod != null) // quick optimization here, don't raycast | ||
115 | RayCast(reqs[i]); // if there isn't anyone to send results | ||
116 | } | ||
117 | catch | ||
118 | { | ||
119 | //Fail silently | ||
120 | //This can genuinely happen because raycast requests are queued, and the actor may have | ||
121 | //been removed from the scene since it was queued | ||
122 | } | ||
114 | } | 123 | } |
115 | /* | 124 | /* |
116 | foreach (ODERayCastRequest req in m_PendingRequests) | 125 | foreach (ODERayCastRequest req in m_PendingRequests) |