diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 0fa76fa65c..b9036746e8 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -1551,8 +1551,6 @@ namespace OpenSim.Region.Environment.Scenes /// public void ScheduleGroupForTerseUpdate() { - HasGroupChanged = true; - lock (m_parts) { foreach (SceneObjectPart part in m_parts.Values) @@ -2165,7 +2163,7 @@ namespace OpenSim.Region.Environment.Scenes m_scene.PhysicsScene.AddPhysicsActorTaint(part.PhysActor); } - + HasGroupChanged = true; ScheduleGroupForTerseUpdate(); } } @@ -2254,6 +2252,8 @@ namespace OpenSim.Region.Environment.Scenes } AbsolutePosition = newPos; + + HasGroupChanged = true; ScheduleGroupForTerseUpdate(); } @@ -2280,6 +2280,8 @@ namespace OpenSim.Region.Environment.Scenes m_rootPart.RotationOffset.Z); m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor); } + + HasGroupChanged = true; ScheduleGroupForTerseUpdate(); } @@ -2299,6 +2301,8 @@ namespace OpenSim.Region.Environment.Scenes m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor); } AbsolutePosition = pos; + + HasGroupChanged = true; ScheduleGroupForTerseUpdate(); } diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 85e098df11..94d661c108 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs @@ -2190,6 +2190,7 @@ namespace OpenSim.Region.Environment.Scenes { //StoreUndoState(); RotationOffset = new LLQuaternion(rot.X, rot.Y, rot.Z, rot.W); + ParentGroup.HasGroupChanged = true; ScheduleTerseUpdate(); } }