diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 617a350..90fe430 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -486,6 +486,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
486 | if (sp.ParentID != (uint)0) | 486 | if (sp.ParentID != (uint)0) |
487 | sp.StandUp(); | 487 | sp.StandUp(); |
488 | 488 | ||
489 | // At least on LL 3.3.4, this is not strictly necessary - a teleport will succeed without sending this to | ||
490 | // the viewer. However, it might mean that the viewer does not see the black teleport screen (untested). | ||
489 | sp.ControllingClient.SendTeleportStart(teleportFlags); | 491 | sp.ControllingClient.SendTeleportStart(teleportFlags); |
490 | 492 | ||
491 | // the avatar.Close below will clear the child region list. We need this below for (possibly) | 493 | // the avatar.Close below will clear the child region list. We need this below for (possibly) |
@@ -561,8 +563,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
561 | // So let's wait | 563 | // So let's wait |
562 | Thread.Sleep(200); | 564 | Thread.Sleep(200); |
563 | 565 | ||
566 | // At least on LL 3.3.4 for teleports between different regions on the same simulator this appears | ||
567 | // unnecessary - teleport will succeed and SEED caps will be requested without it (though possibly | ||
568 | // only on TeleportFinish). This is untested for region teleport between different simulators | ||
569 | // though this probably also works. | ||
564 | m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath); | 570 | m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath); |
565 | |||
566 | } | 571 | } |
567 | else | 572 | else |
568 | { | 573 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index fe549bc..5f45529 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -4144,8 +4144,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4144 | return false; | 4144 | return false; |
4145 | } | 4145 | } |
4146 | 4146 | ||
4147 | // We have to wait until the viewer contacts this region after receiving EAC. | 4147 | // We have to wait until the viewer contacts this region |
4148 | // That calls AddNewClient, which finally creates the ScenePresence | 4148 | // after receiving the EnableSimulator HTTP Event Queue message. This triggers the viewer to send |
4149 | // a UseCircuitCode packet which in turn calls AddNewClient which finally creates the ScenePresence. | ||
4149 | ScenePresence childAgentUpdate = WaitGetScenePresence(cAgentData.AgentID); | 4150 | ScenePresence childAgentUpdate = WaitGetScenePresence(cAgentData.AgentID); |
4150 | 4151 | ||
4151 | if (childAgentUpdate != null) | 4152 | if (childAgentUpdate != null) |