diff options
Diffstat (limited to 'OpenSim/Region/Environment/PermissionManager.cs')
-rw-r--r-- | OpenSim/Region/Environment/PermissionManager.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/PermissionManager.cs b/OpenSim/Region/Environment/PermissionManager.cs index 0343d21..5658be7 100644 --- a/OpenSim/Region/Environment/PermissionManager.cs +++ b/OpenSim/Region/Environment/PermissionManager.cs | |||
@@ -168,12 +168,25 @@ namespace OpenSim.Region.Environment | |||
168 | /// <returns>Has permission?</returns> | 168 | /// <returns>Has permission?</returns> |
169 | public virtual bool CanObjectEntry(LLUUID user, LLVector3 oldPos, LLVector3 newPos) | 169 | public virtual bool CanObjectEntry(LLUUID user, LLVector3 oldPos, LLVector3 newPos) |
170 | { | 170 | { |
171 | |||
172 | |||
173 | if ((newPos.X > 257f || newPos.X < -1f || newPos.Y > 257f || newPos.Y < -1f)) | ||
174 | { | ||
175 | return true; | ||
176 | } | ||
177 | |||
171 | ILandObject land1 = m_scene.LandChannel.getLandObject(oldPos.X, oldPos.Y); | 178 | ILandObject land1 = m_scene.LandChannel.getLandObject(oldPos.X, oldPos.Y); |
172 | ILandObject land2 = m_scene.LandChannel.getLandObject(newPos.X, newPos.Y); | 179 | ILandObject land2 = m_scene.LandChannel.getLandObject(newPos.X, newPos.Y); |
180 | |||
173 | if (land1 == null || land2 == null) | 181 | if (land1 == null || land2 == null) |
174 | { | 182 | { |
175 | return false; | 183 | return false; |
176 | } | 184 | } |
185 | if (land2 == null) | ||
186 | { | ||
187 | // need this for crossing borders | ||
188 | return true; | ||
189 | } | ||
177 | 190 | ||
178 | if (land1.landData.globalID == land2.landData.globalID) | 191 | if (land1.landData.globalID == land2.landData.globalID) |
179 | { | 192 | { |