aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
authordiva2008-12-22 17:43:51 +0000
committerdiva2008-12-22 17:43:51 +0000
commit06f74e4295061f789c084dca95209fc84dfd8cb4 (patch)
treec92ec4c434daffcacae6034c8d0d31467d460cf7 /OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
parentPlumb in the birthdate from the user server reply to the cache (diff)
downloadopensim-SC_OLD-06f74e4295061f789c084dca95209fc84dfd8cb4.zip
opensim-SC_OLD-06f74e4295061f789c084dca95209fc84dfd8cb4.tar.gz
opensim-SC_OLD-06f74e4295061f789c084dca95209fc84dfd8cb4.tar.bz2
opensim-SC_OLD-06f74e4295061f789c084dca95209fc84dfd8cb4.tar.xz
Fix for attachment crossing on TPs. Now that we're letting the viewer have control over MakeRoot at the destination, we need to pass the attachments after that. Attachment crossing requires a root agent at the destination.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs14
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 }