add some needed InvalidBoundsRadius() calls

LSLKeyTest
UbitUmarov 2016-07-06 16:45:27 +01:00
parent c02fe98b7d
commit 0eabfb1e3e
2 changed files with 20 additions and 5 deletions

View File

@ -1568,6 +1568,10 @@ namespace OpenSim.Region.Framework.Scenes
#endregion #endregion
private float? m_boundsRadius = null; private float? m_boundsRadius = null;
public void InvalidBoundsRadius()
{
m_boundsRadius = null;
}
public float GetBoundsRadius() public float GetBoundsRadius()
{ {
@ -2346,6 +2350,7 @@ namespace OpenSim.Region.Framework.Scenes
// a copy isnt backedup // a copy isnt backedup
dupe.Backup = false; dupe.Backup = false;
dupe.InvalidBoundsRadius();
// a copy is not in transit hopefully // a copy is not in transit hopefully
dupe.inTransit = false; dupe.inTransit = false;
@ -3175,6 +3180,8 @@ namespace OpenSim.Region.Framework.Scenes
// unmoved prims! // unmoved prims!
ResetChildPrimPhysicsPositions(); ResetChildPrimPhysicsPositions();
InvalidBoundsRadius();
if (m_rootPart.PhysActor != null) if (m_rootPart.PhysActor != null)
m_rootPart.PhysActor.Building = false; m_rootPart.PhysActor.Building = false;
@ -3326,6 +3333,8 @@ namespace OpenSim.Region.Framework.Scenes
objectGroup.HasGroupChangedDueToDelink = true; objectGroup.HasGroupChangedDueToDelink = true;
InvalidBoundsRadius();
if (sendEvents) if (sendEvents)
linkPart.TriggerScriptChangedEvent(Changed.LINK); linkPart.TriggerScriptChangedEvent(Changed.LINK);
@ -3832,6 +3841,7 @@ namespace OpenSim.Region.Framework.Scenes
if (pa != null) if (pa != null)
m_scene.PhysicsScene.AddPhysicsActorTaint(pa); m_scene.PhysicsScene.AddPhysicsActorTaint(pa);
} }
InvalidBoundsRadius();
} }
#endregion #endregion
@ -3962,11 +3972,13 @@ namespace OpenSim.Region.Framework.Scenes
obPart.Scale = newSize; obPart.Scale = newSize;
obPart.UpdateOffSet(currentpos); obPart.UpdateOffSet(currentpos);
} }
HasGroupChanged = true;
m_rootPart.TriggerScriptChangedEvent(Changed.SCALE);
ScheduleGroupForFullUpdate();
} }
InvalidBoundsRadius();
HasGroupChanged = true;
m_rootPart.TriggerScriptChangedEvent(Changed.SCALE);
ScheduleGroupForFullUpdate();
} }
#endregion #endregion

View File

@ -867,6 +867,8 @@ namespace OpenSim.Region.Framework.Scenes
if (ParentGroup != null && !ParentGroup.IsDeleted) if (ParentGroup != null && !ParentGroup.IsDeleted)
{ {
ParentGroup.InvalidBoundsRadius();
PhysicsActor actor = PhysActor; PhysicsActor actor = PhysActor;
if (ParentID != 0 && actor != null) if (ParentID != 0 && actor != null)
{ {
@ -1165,7 +1167,8 @@ namespace OpenSim.Region.Framework.Scenes
{ {
m_shape.Scale = value; m_shape.Scale = value;
if (ParentGroup != null)
ParentGroup.InvalidBoundsRadius();
PhysicsActor actor = PhysActor; PhysicsActor actor = PhysActor;
if (actor != null) if (actor != null)
{ {