diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index 0180e14aee..d94a7486c0 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -541,7 +541,6 @@ namespace OpenSim.Region.Environment.Scenes
if (hasPrim != false)
{
((SceneObjectGroup)ent).UpdateGroupRotation(pos, rot);
- // prim.UpdateGroupMouseRotation(pos, rot);
break;
}
}
@@ -565,7 +564,6 @@ namespace OpenSim.Region.Environment.Scenes
if (hasPrim != false)
{
((SceneObjectGroup)ent).UpdateGroupRotation(rot);
- //prim.UpdateGroupRotation(rot);
break;
}
}
@@ -580,16 +578,15 @@ namespace OpenSim.Region.Environment.Scenes
///
public void UpdatePrimSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient)
{
- //Console.WriteLine("trying to update single prim rotation");
- Primitive prim = null;
+ bool hasPrim = false;
foreach (EntityBase ent in Entities.Values)
{
if (ent is SceneObjectGroup)
{
- // prim = ((SceneObject)ent).HasChildPrim(localID);
- if (prim != null)
+ hasPrim = ((SceneObjectGroup)ent).HasChildPrim(localID);
+ if (hasPrim != false)
{
- prim.UpdateSingleRotation(rot);
+ ((SceneObjectGroup)ent).UpdateSingleRotation(rot, localID);
break;
}
}
@@ -613,7 +610,6 @@ namespace OpenSim.Region.Environment.Scenes
if (hasPrim != false)
{
((SceneObjectGroup)ent).Resize(scale, localID);
- // prim.ResizeGoup(scale);
break;
}
}
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index cd38b23877..1b7ff23dc3 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -755,6 +755,7 @@ namespace OpenSim.Region.Environment.Scenes
public void UpdateGroupRotation(LLQuaternion rot)
{
this.m_rootPart.UpdateRotation(rot);
+ this.ScheduleGroupForTerseUpdate();
}
///
@@ -766,6 +767,7 @@ namespace OpenSim.Region.Environment.Scenes
{
this.m_rootPart.UpdateRotation(rot);
this.AbsolutePosition = pos;
+ this.ScheduleGroupForTerseUpdate();
}
///
@@ -813,6 +815,7 @@ namespace OpenSim.Region.Environment.Scenes
prim.RotationOffset = new LLQuaternion(newRot.w, newRot.x, newRot.y, newRot.z);
}
}
+ this.m_rootPart.ScheduleTerseUpdate();
}
#endregion
///