diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 15 |
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, |