aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs4
1 files changed, 4 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
index b716980..fb8ec94 100644
--- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
@@ -672,6 +672,9 @@ namespace OpenSim.Region.Environment.Scenes
672 return; 672 return;
673 } 673 }
674 674
675 // the avatar.Close below will clear the child region list. We need this below for (possibly)
676 // closing the child agents, so save it here (we need a copy as it is Clear()-ed).
677 List<ulong> childRegions = new List<ulong>(avatar.GetKnownRegionList());
675 avatar.Close(); 678 avatar.Close();
676 679
677 // Compared to ScenePresence.CrossToNewRegion(), there's no obvious code to handle a teleport 680 // Compared to ScenePresence.CrossToNewRegion(), there's no obvious code to handle a teleport
@@ -721,6 +724,7 @@ namespace OpenSim.Region.Environment.Scenes
721 if (Util.fast_distance2d((int)(newRegionX - oldRegionX), (int)(newRegionY - oldRegionY)) > 3) 724 if (Util.fast_distance2d((int)(newRegionX - oldRegionX), (int)(newRegionY - oldRegionY)) > 3)
722 { 725 {
723 SendCloseChildAgentConnections(avatar.UUID,avatar.GetKnownRegionList()); 726 SendCloseChildAgentConnections(avatar.UUID,avatar.GetKnownRegionList());
727 SendCloseChildAgentConnections(avatar.UUID, childRegions);
724 CloseConnection(m_regionInfo.RegionHandle, avatar.UUID); 728 CloseConnection(m_regionInfo.RegionHandle, avatar.UUID);
725 } 729 }
726 // if (teleport success) // seems to be always success here 730 // if (teleport success) // seems to be always success here