diff options
author | Diva Canto | 2014-07-04 10:13:53 -0700 |
---|---|---|
committer | Justin Clark-Casey | 2014-08-02 00:51:36 +0100 |
commit | 4e3a2d3a64817e41bda18f4d39ca7e6940c69d98 (patch) | |
tree | a9cf023eeafe3e4b9ebdad21c20458dba714259b /OpenSim/Region/Framework/Scenes | |
parent | Avoid an exception in creating child agents some times. (diff) | |
download | opensim-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')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 |
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 | } |