aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
index 3f3a68d..c33c777 100644
--- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
@@ -608,6 +608,8 @@ namespace OpenSim.Region.Environment.Scenes
608 { 608 {
609 bool destRegionUp = false; 609 bool destRegionUp = false;
610 610
611 IEventQueue eq = avatar.Scene.RequestModuleInterface<IEventQueue>();
612
611 if (regionHandle == m_regionInfo.RegionHandle) 613 if (regionHandle == m_regionInfo.RegionHandle)
612 { 614 {
613 // Teleport within the same region 615 // Teleport within the same region
@@ -628,7 +630,12 @@ namespace OpenSim.Region.Environment.Scenes
628 { 630 {
629 position.Z = newPosZ; 631 position.Z = newPosZ;
630 } 632 }
631 avatar.ControllingClient.SendTeleportLocationStart(); 633
634 // Only send this if the event queue is null
635 if (eq == null)
636 avatar.ControllingClient.SendTeleportLocationStart();
637
638
632 avatar.ControllingClient.SendLocalTeleport(position, lookAt, teleportFlags); 639 avatar.ControllingClient.SendLocalTeleport(position, lookAt, teleportFlags);
633 avatar.Teleport(position); 640 avatar.Teleport(position);
634 } 641 }
@@ -637,7 +644,9 @@ namespace OpenSim.Region.Environment.Scenes
637 RegionInfo reg = RequestNeighbouringRegionInfo(regionHandle); 644 RegionInfo reg = RequestNeighbouringRegionInfo(regionHandle);
638 if (reg != null) 645 if (reg != null)
639 { 646 {
640 avatar.ControllingClient.SendTeleportLocationStart(); 647 if (eq == null)
648 avatar.ControllingClient.SendTeleportLocationStart();
649
641 AgentCircuitData agent = avatar.ControllingClient.RequestClientInfo(); 650 AgentCircuitData agent = avatar.ControllingClient.RequestClientInfo();
642 agent.BaseFolder = UUID.Zero; 651 agent.BaseFolder = UUID.Zero;
643 agent.InventoryFolder = UUID.Zero; 652 agent.InventoryFolder = UUID.Zero;
@@ -687,7 +696,7 @@ namespace OpenSim.Region.Environment.Scenes
687 m_log.DebugFormat( 696 m_log.DebugFormat(
688 "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID); 697 "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID);
689 698
690 IEventQueue eq = avatar.Scene.RequestModuleInterface<IEventQueue>(); 699
691 if (eq != null) 700 if (eq != null)
692 { 701 {
693 LLSD Item = EventQueueHelper.TeleportFinishEvent(reg.RegionHandle, 13, reg.ExternalEndPoint, 702 LLSD Item = EventQueueHelper.TeleportFinishEvent(reg.RegionHandle, 13, reg.ExternalEndPoint,