aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2008-10-04 14:23:33 +0000
committerMelanie Thielker2008-10-04 14:23:33 +0000
commit6bf521c7df9e7c151484d50ac01215bf67ec4e6e (patch)
tree07fff634111b3a757ca322243dbc025cce4e4ca3
parentRemove type="owner" from the data snapshot. Made the parser choke and there (diff)
downloadopensim-SC_OLD-6bf521c7df9e7c151484d50ac01215bf67ec4e6e.zip
opensim-SC_OLD-6bf521c7df9e7c151484d50ac01215bf67ec4e6e.tar.gz
opensim-SC_OLD-6bf521c7df9e7c151484d50ac01215bf67ec4e6e.tar.bz2
opensim-SC_OLD-6bf521c7df9e7c151484d50ac01215bf67ec4e6e.tar.xz
Guard against negative scale set through LSL functions
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs5
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs3
2 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index c139fd9..26f3e1d 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1675,6 +1675,11 @@ namespace OpenSim.Region.Environment.Scenes
1675 SceneObjectGroup objectGroup = grp; 1675 SceneObjectGroup objectGroup = grp;
1676 if (objectGroup != null) 1676 if (objectGroup != null)
1677 { 1677 {
1678 if (!grp.HasGroupChanged)
1679 {
1680 m_log.InfoFormat("Detaching {0} which is unchanged", grp.UUID.ToString());
1681 return;
1682 }
1678 string sceneObjectXml = objectGroup.ToXmlString(); 1683 string sceneObjectXml = objectGroup.ToXmlString();
1679 1684
1680 CachedUserInfo userInfo = 1685 CachedUserInfo userInfo =
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 783b1e4..655d85c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -1115,6 +1115,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1115 if (part == null || part.ParentGroup == null || part.ParentGroup.RootPart == null) 1115 if (part == null || part.ParentGroup == null || part.ParentGroup.RootPart == null)
1116 return; 1116 return;
1117 1117
1118 if (scale.x < 0.01 || scale.y < 0.01 || scale.z < 0.01)
1119 return;
1120
1118 if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical) 1121 if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical)
1119 { 1122 {
1120 if (scale.x > World.m_maxPhys) 1123 if (scale.x > World.m_maxPhys)