diff options
author | Diva Canto | 2010-02-01 16:52:42 -0800 |
---|---|---|
committer | Diva Canto | 2010-02-01 16:52:42 -0800 |
commit | 4eeddf3078ac189d93aeec3c26e16066ec25d5e3 (patch) | |
tree | 8ad9571a900382d30778e1eb0c5b8768347e2f08 | |
parent | Beginning of friends. (diff) | |
download | opensim-SC-4eeddf3078ac189d93aeec3c26e16066ec25d5e3.zip opensim-SC-4eeddf3078ac189d93aeec3c26e16066ec25d5e3.tar.gz opensim-SC-4eeddf3078ac189d93aeec3c26e16066ec25d5e3.tar.bz2 opensim-SC-4eeddf3078ac189d93aeec3c26e16066ec25d5e3.tar.xz |
Bug fix for finding default regions if the specified one doesn't exist.
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 1c5245d..a3f52ff 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -267,7 +267,7 @@ namespace OpenSim.Services.LLLoginService | |||
267 | 267 | ||
268 | GridRegion region = null; | 268 | GridRegion region = null; |
269 | 269 | ||
270 | if (pinfo.HomeRegionID.Equals(UUID.Zero)) | 270 | if (pinfo.HomeRegionID.Equals(UUID.Zero) || (region = m_GridService.GetRegionByUUID(account.ScopeID, pinfo.HomeRegionID)) == null) |
271 | { | 271 | { |
272 | List<GridRegion> defaults = m_GridService.GetDefaultRegions(account.ScopeID); | 272 | List<GridRegion> defaults = m_GridService.GetDefaultRegions(account.ScopeID); |
273 | if (defaults != null && defaults.Count > 0) | 273 | if (defaults != null && defaults.Count > 0) |
@@ -276,11 +276,9 @@ namespace OpenSim.Services.LLLoginService | |||
276 | where = "safe"; | 276 | where = "safe"; |
277 | } | 277 | } |
278 | else | 278 | else |
279 | m_log.WarnFormat("[LLOGIN SERVICE]: User {0} {1} does not have a home set and this grid does not have default locations.", | 279 | m_log.WarnFormat("[LLOGIN SERVICE]: User {0} {1} does not have a home set and this grid does not have default locations.", |
280 | account.FirstName, account.LastName); | 280 | account.FirstName, account.LastName); |
281 | } | 281 | } |
282 | else | ||
283 | region = m_GridService.GetRegionByUUID(account.ScopeID, pinfo.HomeRegionID); | ||
284 | 282 | ||
285 | return region; | 283 | return region; |
286 | } | 284 | } |
@@ -294,7 +292,7 @@ namespace OpenSim.Services.LLLoginService | |||
294 | 292 | ||
295 | GridRegion region = null; | 293 | GridRegion region = null; |
296 | 294 | ||
297 | if (pinfo.RegionID.Equals(UUID.Zero)) | 295 | if (pinfo.RegionID.Equals(UUID.Zero) || (region = m_GridService.GetRegionByUUID(account.ScopeID, pinfo.RegionID)) == null) |
298 | { | 296 | { |
299 | List<GridRegion> defaults = m_GridService.GetDefaultRegions(account.ScopeID); | 297 | List<GridRegion> defaults = m_GridService.GetDefaultRegions(account.ScopeID); |
300 | if (defaults != null && defaults.Count > 0) | 298 | if (defaults != null && defaults.Count > 0) |
@@ -305,7 +303,6 @@ namespace OpenSim.Services.LLLoginService | |||
305 | } | 303 | } |
306 | else | 304 | else |
307 | { | 305 | { |
308 | region = m_GridService.GetRegionByUUID(account.ScopeID, pinfo.RegionID); | ||
309 | position = pinfo.Position; | 306 | position = pinfo.Position; |
310 | lookAt = pinfo.LookAt; | 307 | lookAt = pinfo.LookAt; |
311 | } | 308 | } |
@@ -590,6 +587,7 @@ namespace OpenSim.Services.LLLoginService | |||
590 | 587 | ||
591 | private bool LaunchAgentIndirectly(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, out string reason) | 588 | private bool LaunchAgentIndirectly(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, out string reason) |
592 | { | 589 | { |
590 | m_log.Debug("XXX Launching agent at {0}" + destination.RegionName); | ||
593 | return m_UserAgentService.LoginAgentToGrid(aCircuit, gatekeeper, destination, out reason); | 591 | return m_UserAgentService.LoginAgentToGrid(aCircuit, gatekeeper, destination, out reason); |
594 | } | 592 | } |
595 | 593 | ||