From d1841ca94d382215a40a7433efcf24173967d80b Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 30 Nov 2008 23:36:56 +0000 Subject: Mantis #2584 (again) Next step of diva's TP fixes and HG support --- OpenSim/Region/Environment/Scenes/Scene.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index f4bb2d3..7e13671 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -52,6 +52,7 @@ using Caps = OpenSim.Framework.Communications.Capabilities.Caps; using Image = System.Drawing.Image; using TPFlags = OpenSim.Framework.Constants.TeleportFlags; using Timer = System.Timers.Timer; +using OSD = OpenMetaverse.StructuredData.OSD; namespace OpenSim.Region.Environment.Scenes { @@ -2807,9 +2808,10 @@ namespace OpenSim.Region.Environment.Scenes capsPaths[agent.AgentID] = agent.CapsPath; + AddCapsHandler(agent.AgentID); + if (!agent.child) { - AddCapsHandler(agent.AgentID); // Honor parcel landing type and position. ILandObject land = LandChannel.GetLandObject(agent.startpos.X, agent.startpos.Y); @@ -3027,7 +3029,18 @@ namespace OpenSim.Region.Environment.Scenes // } // Tell a single agent to disconnect from the region. + // This sends DisableSimulator over UDP, but that doesn't seem to be working + // well with the latest LL viewer, so we're sending it also via the EQ presence.ControllingClient.SendShutdownConnectionNotice(); + IEventQueue eq = RequestModuleInterface(); + if (eq != null) + { + OSD Item = EventQueueHelper.DisableSimulator(m_regInfo.RegionHandle); + eq.Enqueue(Item, agentID); + m_log.Debug("[Scene]: Enqueuing DisableSimulator for " + agentID + " in region " + m_regInfo.RegionName); + Thread.Sleep(2000); + } + RemoveCapsHandler(agentID); presence.ControllingClient.Close(true); } -- cgit v1.1