diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index 98ea879..3a16b91 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -853,8 +853,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
853 | //} | 853 | //} |
854 | 854 | ||
855 | avatar.MakeChildAgent(); | 855 | avatar.MakeChildAgent(); |
856 | // CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it | ||
857 | avatar.CrossAttachmentsIntoNewRegion(reg.RegionHandle, true); | ||
858 | 856 | ||
859 | m_log.DebugFormat( | 857 | m_log.DebugFormat( |
860 | "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID); | 858 | "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID); |
@@ -877,15 +875,19 @@ namespace OpenSim.Region.Environment.Scenes | |||
877 | KiPrimitive(avatar.LocalId); | 875 | KiPrimitive(avatar.LocalId); |
878 | } | 876 | } |
879 | 877 | ||
878 | // TeleportFinish makes the client send CompleteMovementIntoRegion (at the destination), which | ||
879 | // trigers a whole shebang of things there, including MakeRoot. So let's wait plenty before | ||
880 | // we send the attachments and close things here. | ||
881 | Thread.Sleep(3000); | ||
882 | |||
883 | // CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it | ||
884 | avatar.CrossAttachmentsIntoNewRegion(reg.RegionHandle, true); | ||
880 | 885 | ||
881 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone | 886 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone |
882 | 887 | ||
883 | if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY)) | 888 | if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY)) |
884 | { | 889 | { |
885 | // FinishTeleport makes the client send CompleteMovementIntoRegion (at the destination), which | 890 | Thread.Sleep(5000); |
886 | // trigers a whole shebang of things there. So let's wait plenty before we disconnect. | ||
887 | // The user is already there anyway. | ||
888 | Thread.Sleep(8000); | ||
889 | avatar.Close(); | 891 | avatar.Close(); |
890 | CloseConnection(avatar.UUID); | 892 | CloseConnection(avatar.UUID); |
891 | } | 893 | } |