From 4e30f862af218de783552ffc2ca68ae8a11509c5 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Tue, 18 Mar 2008 03:09:38 +0000
Subject: Building on Joha's update... * Server now listens to the client's
 start location request for 'home' or 'last' and sends the user to the home
 location or the last location.

---
 .../Region/Communications/Local/LocalLoginService.cs   | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

(limited to 'OpenSim/Region')

diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs
index d7b3a58..6088890 100644
--- a/OpenSim/Region/Communications/Local/LocalLoginService.cs
+++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs
@@ -123,9 +123,23 @@ namespace OpenSim.Region.Communications.Local
             }
         }
 
-        public override void CustomiseResponse(LoginResponse response, UserProfileData theUser)
+        public override void CustomiseResponse(LoginResponse response, UserProfileData theUser, string startLocationRequest)
         {
-            ulong currentRegion = theUser.currentAgent.currentHandle;
+            ulong currentRegion = 0;
+            if (startLocationRequest == "last")
+            {
+                currentRegion = theUser.currentAgent.currentHandle;
+            }
+            else if (startLocationRequest == "home")
+            {
+                currentRegion = theUser.homeRegion;
+            }
+            else
+            {
+                // TODO: Parse string in the following format: 'uri:RegionName&X&Y&Z'
+                currentRegion = theUser.currentAgent.currentHandle;
+            }
+
             RegionInfo reg = m_Parent.GridService.RequestNeighbourInfo(currentRegion);
 
             if (reg != null)
-- 
cgit v1.1