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)0.7.1-dev
parent
6ae76ede98
commit
4d0cffa06e
|
@ -766,9 +766,9 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
}
|
}
|
||||||
catch (IndexOutOfRangeException)
|
catch (IndexOutOfRangeException)
|
||||||
{
|
{
|
||||||
m_log.WarnFormat(
|
// m_log.WarnFormat(
|
||||||
"[LAND MANAGEMENT MODULE]: Tried to retrieve land object from out of bounds co-ordinate ({0},{1}) in {2}",
|
// "[LAND MANAGEMENT MODULE]: Tried to retrieve land object from out of bounds co-ordinate ({0},{1}) in {2}",
|
||||||
x, y, m_scene.RegionInfo.RegionName);
|
// x, y, m_scene.RegionInfo.RegionName);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,6 +183,11 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
|
|
||||||
Vector3 pos = obj.AbsolutePosition;
|
Vector3 pos = obj.AbsolutePosition;
|
||||||
ILandObject landObject = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y);
|
ILandObject landObject = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y);
|
||||||
|
|
||||||
|
// If for some reason there is no land object (perhaps the object is out of bounds) then we can't count it
|
||||||
|
if (landObject == null)
|
||||||
|
return;
|
||||||
|
|
||||||
LandData landData = landObject.LandData;
|
LandData landData = landObject.LandData;
|
||||||
|
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
|
|
Loading…
Reference in New Issue