aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorDiva Canto2014-07-04 10:13:53 -0700
committerJustin Clark-Casey2014-08-02 00:51:36 +0100
commit4e3a2d3a64817e41bda18f4d39ca7e6940c69d98 (patch)
treea9cf023eeafe3e4b9ebdad21c20458dba714259b /OpenSim/Region/Framework/Scenes/ScenePresence.cs
parentAvoid an exception in creating child agents some times. (diff)
downloadopensim-SC_OLD-4e3a2d3a64817e41bda18f4d39ca7e6940c69d98.zip
opensim-SC_OLD-4e3a2d3a64817e41bda18f4d39ca7e6940c69d98.tar.gz
opensim-SC_OLD-4e3a2d3a64817e41bda18f4d39ca7e6940c69d98.tar.bz2
opensim-SC_OLD-4e3a2d3a64817e41bda18f4d39ca7e6940c69d98.tar.xz
It turns out that child agent management has had a bug for a while: there was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs4
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 37353c1..17f6301 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3733,7 +3733,9 @@ namespace OpenSim.Region.Framework.Scenes
3733 3733
3734// m_log.Debug("---> x: " + x + "; newx:" + newRegionX + "; Abs:" + (int)Math.Abs((int)(x - newRegionX))); 3734// m_log.Debug("---> x: " + x + "; newx:" + newRegionX + "; Abs:" + (int)Math.Abs((int)(x - newRegionX)));
3735// m_log.Debug("---> y: " + y + "; newy:" + newRegionY + "; Abs:" + (int)Math.Abs((int)(y - newRegionY))); 3735// m_log.Debug("---> y: " + y + "; newy:" + newRegionY + "; Abs:" + (int)Math.Abs((int)(y - newRegionY)));
3736 if (Util.IsOutsideView(DrawDistance, x, newRegionX, y, newRegionY)) 3736 float dist = (float)Math.Max(Scene.DefaultDrawDistance,
3737 (float)Math.Max(Scene.RegionInfo.RegionSizeX, Scene.RegionInfo.RegionSizeY));
3738 if (Util.IsOutsideView(dist, x, newRegionX, y, newRegionY))
3737 { 3739 {
3738 byebyeRegions.Add(handle); 3740 byebyeRegions.Add(handle);
3739 } 3741 }