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

View File

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