From 6c01ebb87541ecf66d678606bb97d996bee51953 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 3 Dec 2010 04:39:51 +0100 Subject: Revert "Trigger changed event with CHANGED_TELEPORT when teleporting to another region." This reverts commit 2827deffe822378b6cb35dac6c90a21c3fbc0de7. Pulling out a bad core commit that broke attachment teleporting for us --- OpenSim/Region/Framework/Scenes/Scene.cs | 15 +++++++++------ .../Region/ScriptEngine/Interfaces/IScriptInstance.cs | 3 +-- .../ScriptEngine/Shared/Instance/ScriptInstance.cs | 17 +++++++---------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0c7b2e8..ae85605 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2391,14 +2391,16 @@ namespace OpenSim.Region.Framework.Scenes m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); return false; } - - newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); + + newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, 2); newObject.ResumeScripts(); // Do this as late as possible so that listeners have full access to the incoming object EventManager.TriggerOnIncomingSceneObject(newObject); + TriggerChangedTeleport(newObject); + return true; } @@ -2525,7 +2527,7 @@ namespace OpenSim.Region.Framework.Scenes return true; } - private int GetStateSource(SceneObjectGroup sog) + private void TriggerChangedTeleport(SceneObjectGroup sog) { ScenePresence sp = GetScenePresence(sog.OwnerID); @@ -2536,12 +2538,13 @@ namespace OpenSim.Region.Framework.Scenes if (aCircuit != null && (aCircuit.teleportFlags != (uint)TeleportFlags.Default)) { // This will get your attention - //m_log.Error("[XXX] Triggering CHANGED_TELEPORT"); + //m_log.Error("[XXX] Triggering "); - return 5; // StateSource.Teleporting + // Trigger CHANGED_TELEPORT + sp.Scene.EventManager.TriggerOnScriptChangedEvent(sog.LocalId, (uint)Changed.TELEPORT); } + } - return 2; // StateSource.PrimCrossing } #endregion diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs index 8b7871b..0c99d8c 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs @@ -42,8 +42,7 @@ namespace OpenSim.Region.ScriptEngine.Interfaces NewRez = 1, PrimCrossing = 2, ScriptedRez = 3, - AttachedRez = 4, - Teleporting = 5 + AttachedRez = 4 } public interface IScriptWorkItem diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 9548253..5288cd3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -391,22 +391,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance } else if (m_stateSource == StateSource.RegionStart) { - //m_log.Debug("[Script] Posted changed(CHANGED_REGION_RESTART) to script"); +// m_log.Debug("[Script] Posted changed(CHANGED_REGION_RESTART) to script"); PostEvent(new EventParams("changed", - new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION_RESTART) }, new DetectParams[0])); + new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION_RESTART) }, + new DetectParams[0])); } - else if (m_stateSource == StateSource.PrimCrossing || m_stateSource == StateSource.Teleporting) + else if (m_stateSource == StateSource.PrimCrossing) { // CHANGED_REGION PostEvent(new EventParams("changed", - new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION) }, new DetectParams[0])); - - // CHANGED_TELEPORT - if (m_stateSource == StateSource.Teleporting) - PostEvent(new EventParams("changed", - new Object[] { new LSL_Types.LSLInteger((int)Changed.TELEPORT) }, new DetectParams[0])); + new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION) }, + new DetectParams[0])); } - } + } else { Start(); -- cgit v1.1