diff options
author | MW | 2007-08-24 12:34:00 +0000 |
---|---|---|
committer | MW | 2007-08-24 12:34:00 +0000 |
commit | d79b0ba269bfb98de6296b7c0219f6eb2e575710 (patch) | |
tree | 3d49466b495037fcc461ac863719db22986231da | |
parent | attempted fix for .NET issue with the database (diff) | |
download | opensim-SC_OLD-d79b0ba269bfb98de6296b7c0219f6eb2e575710.zip opensim-SC_OLD-d79b0ba269bfb98de6296b7c0219f6eb2e575710.tar.gz opensim-SC_OLD-d79b0ba269bfb98de6296b7c0219f6eb2e575710.tar.bz2 opensim-SC_OLD-d79b0ba269bfb98de6296b7c0219f6eb2e575710.tar.xz |
Hopefully fixed mantis bug #318 (exception when a prim moves across a border, for now have stopped prims moving beyond a regions area, will add sending prims from one region to another soon).
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 21 |
2 files changed, 24 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 1ed0642..2f345f4 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs | |||
@@ -207,7 +207,8 @@ namespace OpenSim.Region.Environment.LandManagement | |||
207 | 207 | ||
208 | if (x > 63 || y > 63 || x < 0 || y < 0) | 208 | if (x > 63 || y > 63 || x < 0 || y < 0) |
209 | { | 209 | { |
210 | throw new Exception("Error: Parcel not found at point " + x + ", " + y); | 210 | return null; |
211 | //throw new Exception("Error: Parcel not found at point " + x + ", " + y); | ||
211 | } | 212 | } |
212 | else | 213 | else |
213 | { | 214 | { |
@@ -220,7 +221,8 @@ namespace OpenSim.Region.Environment.LandManagement | |||
220 | { | 221 | { |
221 | if (x > 256 || y > 256 || x < 0 || y < 0) | 222 | if (x > 256 || y > 256 || x < 0 || y < 0) |
222 | { | 223 | { |
223 | throw new Exception("Error: Parcel not found at point " + x + ", " + y); | 224 | return null; |
225 | //throw new Exception("Error: Parcel not found at point " + x + ", " + y); | ||
224 | } | 226 | } |
225 | else | 227 | else |
226 | { | 228 | { |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index ba6f6ea..cbf92a8 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -83,11 +83,30 @@ namespace OpenSim.Region.Environment.Scenes | |||
83 | get { return m_rootPart.GroupPosition; } | 83 | get { return m_rootPart.GroupPosition; } |
84 | set | 84 | set |
85 | { | 85 | { |
86 | LLVector3 val = value; | ||
87 | if (val.X > 255.6f) | ||
88 | { | ||
89 | val.X = 255.6f; | ||
90 | } | ||
91 | else if (val.X < 0.4f) | ||
92 | { | ||
93 | val.X = 0.4f; | ||
94 | } | ||
95 | |||
96 | if (val.Y > 255.6f) | ||
97 | { | ||
98 | val.Y = 255.6f; | ||
99 | } | ||
100 | else if (val.Y < 0.4f) | ||
101 | { | ||
102 | val.Y = 0.4f; | ||
103 | } | ||
104 | |||
86 | lock (this.m_parts) | 105 | lock (this.m_parts) |
87 | { | 106 | { |
88 | foreach (SceneObjectPart part in this.m_parts.Values) | 107 | foreach (SceneObjectPart part in this.m_parts.Values) |
89 | { | 108 | { |
90 | part.GroupPosition = value; | 109 | part.GroupPosition = val; |
91 | } | 110 | } |
92 | } | 111 | } |
93 | if (m_rootPart.PhysActor != null) | 112 | if (m_rootPart.PhysActor != null) |