diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index fd4caae97b..dcf4e9b9e9 100755 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -467,9 +467,9 @@ namespace OpenSim.Region.Framework.Scenes part = parts[i]; Vector3 scale = part.Shape.Scale; - scale.X = Util.Clamp(scale.X, m_parentScene.m_minNonphys, m_parentScene.m_maxNonphys); - scale.Y = Util.Clamp(scale.Y, m_parentScene.m_minNonphys, m_parentScene.m_maxNonphys); - scale.Z = Util.Clamp(scale.Z, m_parentScene.m_minNonphys, m_parentScene.m_maxNonphys); + scale.X = Utils.Clamp(scale.X, m_parentScene.m_minNonphys, m_parentScene.m_maxNonphys); + scale.Y = Utils.Clamp(scale.Y, m_parentScene.m_minNonphys, m_parentScene.m_maxNonphys); + scale.Z = Utils.Clamp(scale.Z, m_parentScene.m_minNonphys, m_parentScene.m_maxNonphys); part.Shape.Scale = scale; } diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 10a8e01bd2..11f07a12e0 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -60,7 +60,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization /// The scene object deserialized. Null on failure. public static SceneObjectGroup FromOriginalXmlFormat(string xmlData) { - String fixedData = ExternalRepresentationUtils.SanitizeXml(xmlData); + string fixedData = ExternalRepresentationUtils.SanitizeXml(xmlData); using (XmlTextReader wrappedReader = new XmlTextReader(fixedData, XmlNodeType.Element, null)) { using (XmlReader reader = XmlReader.Create(wrappedReader, new XmlReaderSettings() { IgnoreWhitespace = true, ConformanceLevel = ConformanceLevel.Fragment })) @@ -1601,7 +1601,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization WriteFlags(writer, "Flags", sop.Flags.ToString(), options); WriteUUID(writer, "CollisionSound", sop.CollisionSound, options); writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString(Culture.FormatProvider)); - if (sop.MediaUrl != null) + if (!string.IsNullOrEmpty(sop.MediaUrl)) writer.WriteElementString("MediaUrl", sop.MediaUrl.ToString()); WriteVector(writer, "AttachedPos", sop.AttachedPos); diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 7538225e2f..b09849e4f1 100755 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs @@ -1937,7 +1937,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine { IScriptInstance instance = GetInstance(itemID); if (instance != null) + { instance.Start(); + if (instance.ScriptTask != null) + instance.ScriptTask.ScriptRunning = true; + } else m_runFlags.AddOrUpdate(itemID, true, 240); @@ -1958,10 +1962,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine instance.StayStopped = true; // the script was stopped explicitly instance.Stop(m_WaitForEventCompletionOnScriptStop); + if (instance.ScriptTask != null) + instance.ScriptTask.ScriptRunning = false; } else { -// m_log.DebugFormat("[XENGINE]: Could not find script with ID {0} to stop in {1}", itemID, World.Name); + //m_log.DebugFormat("[XENGINE]: Could not find script with ID {0} to stop in {1}", itemID, World.Name); m_runFlags.AddOrUpdate(itemID, false, 240); } diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs b/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs index d658c4971a..09a2e79d1e 100644 --- a/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs +++ b/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs @@ -1504,14 +1504,22 @@ namespace OpenSim.Region.ScriptEngine.Yengine { XMRInstance instance = GetInstance(itemID); if(instance != null) + { instance.Running = true; + if (instance.m_Item != null) + instance.m_Item.ScriptRunning = true; + } } public void OnStopScript(uint localID, UUID itemID) { XMRInstance instance = GetInstance(itemID); if(instance != null) + { instance.Running = false; + if (instance.m_Item != null) + instance.m_Item.ScriptRunning = false; + } } public void OnGetScriptRunning(IClientAPI controllingClient, @@ -1522,7 +1530,8 @@ namespace OpenSim.Region.ScriptEngine.Yengine { TraceCalls("[YEngine]: YEngine.OnGetScriptRunning({0},{1})", objectID.ToString(), itemID.ToString()); - bool curRunnning = instance.Running & instance.m_Item.ScriptRunning; + bool curRunnning = instance.Running; + instance.m_Item.ScriptRunning = curRunnning; IEventQueue eq = World.RequestModuleInterface(); if(eq == null) {