diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 09cbbfe..948dca2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1724,19 +1724,23 @@ namespace OpenSim.Region.Framework.Scenes | |||
1724 | 1724 | ||
1725 | #endregion | 1725 | #endregion |
1726 | 1726 | ||
1727 | // Send the parts of this SOG to a single client | 1727 | /// <summary> |
1728 | // Used when the client initially connects and when client sends RequestPrim packet | 1728 | /// Send the parts of this SOG to a single client |
1729 | /// </summary> | ||
1730 | /// <remarks> | ||
1731 | /// Used when the client initially connects and when client sends RequestPrim packet | ||
1732 | /// </remarks> | ||
1733 | /// <param name="remoteClient"></param> | ||
1729 | public void SendFullUpdateToClient(IClientAPI remoteClient) | 1734 | public void SendFullUpdateToClient(IClientAPI remoteClient) |
1730 | { | 1735 | { |
1731 | RootPart.SendFullUpdate( | 1736 | RootPart.SendFullUpdate(remoteClient); |
1732 | remoteClient, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, RootPart.UUID)); | ||
1733 | 1737 | ||
1734 | SceneObjectPart[] parts = m_parts.GetArray(); | 1738 | SceneObjectPart[] parts = m_parts.GetArray(); |
1735 | for (int i = 0; i < parts.Length; i++) | 1739 | for (int i = 0; i < parts.Length; i++) |
1736 | { | 1740 | { |
1737 | SceneObjectPart part = parts[i]; | 1741 | SceneObjectPart part = parts[i]; |
1738 | if (part != RootPart) | 1742 | if (part != RootPart) |
1739 | part.SendFullUpdate(remoteClient, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, part.UUID)); | 1743 | part.SendFullUpdate(remoteClient); |
1740 | } | 1744 | } |
1741 | } | 1745 | } |
1742 | 1746 | ||
@@ -2067,10 +2071,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2067 | 2071 | ||
2068 | /// <summary> | 2072 | /// <summary> |
2069 | /// Reset the UUIDs for all the prims that make up this group. | 2073 | /// Reset the UUIDs for all the prims that make up this group. |
2070 | /// | 2074 | /// </summary> |
2075 | /// <remarks> | ||
2071 | /// This is called by methods which want to add a new group to an existing scene, in order | 2076 | /// This is called by methods which want to add a new group to an existing scene, in order |
2072 | /// to ensure that there are no clashes with groups already present. | 2077 | /// to ensure that there are no clashes with groups already present. |
2073 | /// </summary> | 2078 | /// </remarks> |
2074 | public void ResetIDs() | 2079 | public void ResetIDs() |
2075 | { | 2080 | { |
2076 | lock (m_parts.SyncRoot) | 2081 | lock (m_parts.SyncRoot) |
@@ -3636,6 +3641,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3636 | part.Inventory.ChangeInventoryGroup(GroupID); | 3641 | part.Inventory.ChangeInventoryGroup(GroupID); |
3637 | } | 3642 | } |
3638 | 3643 | ||
3644 | HasGroupChanged = true; | ||
3645 | |||
3639 | // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled | 3646 | // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled |
3640 | // for the same object with very different properties. The caller must schedule the update. | 3647 | // for the same object with very different properties. The caller must schedule the update. |
3641 | //ScheduleGroupForFullUpdate(); | 3648 | //ScheduleGroupForFullUpdate(); |