diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 1ed0642329..2f345f4b68 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs @@ -207,7 +207,8 @@ namespace OpenSim.Region.Environment.LandManagement if (x > 63 || y > 63 || x < 0 || y < 0) { - throw new Exception("Error: Parcel not found at point " + x + ", " + y); + return null; + //throw new Exception("Error: Parcel not found at point " + x + ", " + y); } else { @@ -220,7 +221,8 @@ namespace OpenSim.Region.Environment.LandManagement { if (x > 256 || y > 256 || x < 0 || y < 0) { - throw new Exception("Error: Parcel not found at point " + x + ", " + y); + return null; + //throw new Exception("Error: Parcel not found at point " + x + ", " + y); } else { diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index ba6f6eaa3b..cbf92a8eb1 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -83,11 +83,30 @@ namespace OpenSim.Region.Environment.Scenes get { return m_rootPart.GroupPosition; } set { + LLVector3 val = value; + if (val.X > 255.6f) + { + val.X = 255.6f; + } + else if (val.X < 0.4f) + { + val.X = 0.4f; + } + + if (val.Y > 255.6f) + { + val.Y = 255.6f; + } + else if (val.Y < 0.4f) + { + val.Y = 0.4f; + } + lock (this.m_parts) { foreach (SceneObjectPart part in this.m_parts.Values) { - part.GroupPosition = value; + part.GroupPosition = val; } } if (m_rootPart.PhysActor != null)