diff options
-rw-r--r-- | OpenSim/Grid/UserServer/UserLoginService.cs | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs index 8488e22..09a25e4 100644 --- a/OpenSim/Grid/UserServer/UserLoginService.cs +++ b/OpenSim/Grid/UserServer/UserLoginService.cs | |||
@@ -140,9 +140,27 @@ namespace OpenSim.Grid.UserServer | |||
140 | try | 140 | try |
141 | { | 141 | { |
142 | RegionProfileData SimInfo = null; | 142 | RegionProfileData SimInfo = null; |
143 | RegionProfileData HomeInfo = null; | ||
143 | int start_x = -1; | 144 | int start_x = -1; |
144 | int start_y = -1; | 145 | int start_y = -1; |
145 | int start_z = -1; | 146 | int start_z = -1; |
147 | |||
148 | // use the homeRegionID if it is stored already. If not, use the regionHandle as before | ||
149 | if (theUser.HomeRegionID != LLUUID.Zero) | ||
150 | { | ||
151 | HomeInfo = | ||
152 | RegionProfileData.RequestSimProfileData( | ||
153 | theUser.HomeRegionID, m_config.GridServerURL, | ||
154 | m_config.GridSendKey, m_config.GridRecvKey); | ||
155 | } | ||
156 | else | ||
157 | { | ||
158 | HomeInfo = | ||
159 | RegionProfileData.RequestSimProfileData( | ||
160 | theUser.HomeRegion, m_config.GridServerURL, | ||
161 | m_config.GridSendKey, m_config.GridRecvKey); | ||
162 | } | ||
163 | |||
146 | if (startLocationRequest == "last") | 164 | if (startLocationRequest == "last") |
147 | { | 165 | { |
148 | SimInfo = | 166 | SimInfo = |
@@ -152,21 +170,7 @@ namespace OpenSim.Grid.UserServer | |||
152 | } | 170 | } |
153 | else if (startLocationRequest == "home") | 171 | else if (startLocationRequest == "home") |
154 | { | 172 | { |
155 | // use the homeRegionID if it is stored already. If not, use the regionHandle as before | 173 | SimInfo = HomeInfo; |
156 | if (theUser.HomeRegionID != LLUUID.Zero) | ||
157 | { | ||
158 | SimInfo = | ||
159 | RegionProfileData.RequestSimProfileData( | ||
160 | theUser.HomeRegionID, m_config.GridServerURL, | ||
161 | m_config.GridSendKey, m_config.GridRecvKey); | ||
162 | } | ||
163 | else | ||
164 | { | ||
165 | SimInfo = | ||
166 | RegionProfileData.RequestSimProfileData( | ||
167 | theUser.HomeRegion, m_config.GridServerURL, | ||
168 | m_config.GridSendKey, m_config.GridRecvKey); | ||
169 | } | ||
170 | } | 174 | } |
171 | else | 175 | else |
172 | { | 176 | { |
@@ -191,10 +195,7 @@ namespace OpenSim.Grid.UserServer | |||
191 | if (SimInfo == null) | 195 | if (SimInfo == null) |
192 | { | 196 | { |
193 | m_log.Info("[LOGIN]: Didn't find region with a close name match sending to home location"); | 197 | m_log.Info("[LOGIN]: Didn't find region with a close name match sending to home location"); |
194 | SimInfo = | 198 | SimInfo = HomeInfo; |
195 | RegionProfileData.RequestSimProfileData( | ||
196 | theUser.HomeRegion, m_config.GridServerURL, | ||
197 | m_config.GridSendKey, m_config.GridRecvKey); | ||
198 | } | 199 | } |
199 | else | 200 | else |
200 | { | 201 | { |
@@ -208,8 +209,8 @@ namespace OpenSim.Grid.UserServer | |||
208 | // Customise the response | 209 | // Customise the response |
209 | //CFK: This is redundant and the next message should always appear. | 210 | //CFK: This is redundant and the next message should always appear. |
210 | //CFK: m_log.Info("[LOGIN]: Home Location"); | 211 | //CFK: m_log.Info("[LOGIN]: Home Location"); |
211 | response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" + | 212 | response.Home = "{'region_handle':[r" + (HomeInfo.regionLocX * Constants.RegionSize).ToString() + ",r" + |
212 | (SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " + | 213 | (HomeInfo.regionLocY * Constants.RegionSize).ToString() + "], " + |
213 | "'position':[r" + theUser.HomeLocation.X.ToString() + ",r" + | 214 | "'position':[r" + theUser.HomeLocation.X.ToString() + ",r" + |
214 | theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "], " + | 215 | theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "], " + |
215 | "'look_at':[r" + theUser.HomeLookAt.X.ToString() + ",r" + | 216 | "'look_at':[r" + theUser.HomeLookAt.X.ToString() + ",r" + |