diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 11a41aa..5d27d86 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -4938,9 +4938,16 @@ Environment.Exit(1); | |||
4938 | return nearestPoint.Value; | 4938 | return nearestPoint.Value; |
4939 | } | 4939 | } |
4940 | 4940 | ||
4941 | //Ultimate backup if we have no idea where they are | 4941 | ILandObject dest = LandChannel.GetLandObject(avatar.lastKnownAllowedPosition.X, avatar.lastKnownAllowedPosition.Y); |
4942 | Debug.WriteLine("Have no idea where they are, sending them to: " + avatar.lastKnownAllowedPosition.ToString()); | 4942 | if (dest != excludeParcel) |
4943 | return avatar.lastKnownAllowedPosition; | 4943 | { |
4944 | // Ultimate backup if we have no idea where they are and | ||
4945 | // the last allowed position was in another parcel | ||
4946 | Debug.WriteLine("Have no idea where they are, sending them to: " + avatar.lastKnownAllowedPosition.ToString()); | ||
4947 | return avatar.lastKnownAllowedPosition; | ||
4948 | } | ||
4949 | |||
4950 | // else fall through to region edge | ||
4944 | } | 4951 | } |
4945 | 4952 | ||
4946 | //Go to the edge, this happens in teleporting to a region with no available parcels | 4953 | //Go to the edge, this happens in teleporting to a region with no available parcels |