aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-03-31 23:56:26 +0100
committerJustin Clark-Casey (justincc)2011-03-31 23:56:26 +0100
commit4d0cffa06e1c4071d137834e1d5c2cd06c933441 (patch)
treed9fdd020d776c1329a0236722946c2b69250dd2b
parentsuspend check that IAR control file is loaded for now (diff)
downloadopensim-SC-4d0cffa06e1c4071d137834e1d5c2cd06c933441.zip
opensim-SC-4d0cffa06e1c4071d137834e1d5c2cd06c933441.tar.gz
opensim-SC-4d0cffa06e1c4071d137834e1d5c2cd06c933441.tar.bz2
opensim-SC-4d0cffa06e1c4071d137834e1d5c2cd06c933441.tar.xz
If the prim count gets an object with invalid bounds, don't try to count it.
This appears to be the more probable explanation for some failures seen. Either we're counting attachments which are temporarily out of bounds (shouldn't be due to the IsAttachment) check or we're counting scene objects which have out of bounds co-ordinates (seems more likely)
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs6
-rw-r--r--OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs5
2 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
index fac2574..2b5f7a0 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
@@ -766,9 +766,9 @@ namespace OpenSim.Region.CoreModules.World.Land
766 } 766 }
767 catch (IndexOutOfRangeException) 767 catch (IndexOutOfRangeException)
768 { 768 {
769 m_log.WarnFormat( 769// m_log.WarnFormat(
770 "[LAND MANAGEMENT MODULE]: Tried to retrieve land object from out of bounds co-ordinate ({0},{1}) in {2}", 770// "[LAND MANAGEMENT MODULE]: Tried to retrieve land object from out of bounds co-ordinate ({0},{1}) in {2}",
771 x, y, m_scene.RegionInfo.RegionName); 771// x, y, m_scene.RegionInfo.RegionName);
772 772
773 return null; 773 return null;
774 } 774 }
diff --git a/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs b/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
index d1e2328..f07ae31 100644
--- a/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
@@ -183,6 +183,11 @@ namespace OpenSim.Region.CoreModules.World.Land
183 183
184 Vector3 pos = obj.AbsolutePosition; 184 Vector3 pos = obj.AbsolutePosition;
185 ILandObject landObject = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y); 185 ILandObject landObject = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y);
186
187 // If for some reason there is no land object (perhaps the object is out of bounds) then we can't count it
188 if (landObject == null)
189 return;
190
186 LandData landData = landObject.LandData; 191 LandData landData = landObject.LandData;
187 192
188// m_log.DebugFormat( 193// m_log.DebugFormat(