Extra check to avoid client crashes on HG home teleports.
parent
19cb2cb395
commit
dd2a82f81c
|
@ -52,26 +52,32 @@ namespace OpenSim.Region.Environment.Scenes.Hypergrid
|
||||||
m_log.Debug("[HGScene]: TeleportClientHome " + client.FirstName + " " + client.LastName);
|
m_log.Debug("[HGScene]: TeleportClientHome " + client.FirstName + " " + client.LastName);
|
||||||
|
|
||||||
CachedUserInfo uinfo = CommsManager.UserProfileCacheService.GetUserDetails(agentId);
|
CachedUserInfo uinfo = CommsManager.UserProfileCacheService.GetUserDetails(agentId);
|
||||||
UserProfileData UserProfile = uinfo.UserProfile;
|
if (uinfo != null)
|
||||||
|
|
||||||
if (UserProfile != null)
|
|
||||||
{
|
{
|
||||||
RegionInfo regionInfo = CommsManager.GridService.RequestNeighbourInfo(UserProfile.HomeRegion);
|
UserProfileData UserProfile = uinfo.UserProfile;
|
||||||
|
|
||||||
|
if (UserProfile != null)
|
||||||
|
{
|
||||||
|
RegionInfo regionInfo = CommsManager.GridService.RequestNeighbourInfo(UserProfile.HomeRegion);
|
||||||
//if (regionInfo != null)
|
//if (regionInfo != null)
|
||||||
//{
|
//{
|
||||||
// UserProfile.HomeRegionID = regionInfo.RegionID;
|
// UserProfile.HomeRegionID = regionInfo.RegionID;
|
||||||
// //CommsManager.UserService.UpdateUserProfile(UserProfile);
|
// //CommsManager.UserService.UpdateUserProfile(UserProfile);
|
||||||
//}
|
//}
|
||||||
if (regionInfo == null)
|
if (regionInfo == null)
|
||||||
{
|
{
|
||||||
// can't find the Home region: Tell viewer and abort
|
// can't find the Home region: Tell viewer and abort
|
||||||
client.SendTeleportFailed("Your home-region could not be found.");
|
client.SendTeleportFailed("Your home-region could not be found.");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
RequestTeleportLocation(
|
||||||
|
client, regionInfo.RegionHandle, UserProfile.HomeLocation, UserProfile.HomeLookAt,
|
||||||
|
(uint)(TPFlags.SetLastToTarget | TPFlags.ViaHome));
|
||||||
}
|
}
|
||||||
RequestTeleportLocation(
|
|
||||||
client, regionInfo.RegionHandle, UserProfile.HomeLocation, UserProfile.HomeLookAt,
|
|
||||||
(uint)(TPFlags.SetLastToTarget | TPFlags.ViaHome));
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
client.SendTeleportFailed("Sorry! I lost your home-region information.");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue