Guard against negative scale set through LSL functions
parent
5b901c7031
commit
6bf521c7df
|
@ -1675,6 +1675,11 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
SceneObjectGroup objectGroup = grp;
|
SceneObjectGroup objectGroup = grp;
|
||||||
if (objectGroup != null)
|
if (objectGroup != null)
|
||||||
{
|
{
|
||||||
|
if (!grp.HasGroupChanged)
|
||||||
|
{
|
||||||
|
m_log.InfoFormat("Detaching {0} which is unchanged", grp.UUID.ToString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
string sceneObjectXml = objectGroup.ToXmlString();
|
string sceneObjectXml = objectGroup.ToXmlString();
|
||||||
|
|
||||||
CachedUserInfo userInfo =
|
CachedUserInfo userInfo =
|
||||||
|
|
|
@ -1115,6 +1115,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
if (part == null || part.ParentGroup == null || part.ParentGroup.RootPart == null)
|
if (part == null || part.ParentGroup == null || part.ParentGroup.RootPart == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (scale.x < 0.01 || scale.y < 0.01 || scale.z < 0.01)
|
||||||
|
return;
|
||||||
|
|
||||||
if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical)
|
if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical)
|
||||||
{
|
{
|
||||||
if (scale.x > World.m_maxPhys)
|
if (scale.x > World.m_maxPhys)
|
||||||
|
|
Loading…
Reference in New Issue