aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorTom2011-07-15 11:12:10 -0700
committerTom2011-07-15 11:12:10 -0700
commitcc69d12d542cc7cea66e7b045b97c27c43d205bd (patch)
tree0eb8008a65af1afc7941c85de52bfdbb3df3dbf5 /OpenSim/Region/Physics
parentMerge branch 'master' into careminster-presence-refactor (diff)
downloadopensim-SC-cc69d12d542cc7cea66e7b045b97c27c43d205bd.zip
opensim-SC-cc69d12d542cc7cea66e7b045b97c27c43d205bd.tar.gz
opensim-SC-cc69d12d542cc7cea66e7b045b97c27c43d205bd.tar.bz2
opensim-SC-cc69d12d542cc7cea66e7b045b97c27c43d205bd.tar.xz
Fix a raycast issue
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODERayCastRequestManager.cs13
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs11
2 files changed, 20 insertions, 4 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)
diff --git a/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs b/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
index ba77dae..15ccddc 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
@@ -109,8 +109,15 @@ 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 }
114 } 121 }
115 /* 122 /*
116 foreach (ODERayCastRequest req in m_PendingRequests) 123 foreach (ODERayCastRequest req in m_PendingRequests)