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 f9e0b83..abea788 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1373,19 +1373,23 @@ namespace OpenSim.Region.Framework.Scenes | |||
1373 | 1373 | ||
1374 | #endregion | 1374 | #endregion |
1375 | 1375 | ||
1376 | // Send the parts of this SOG to a single client | 1376 | /// <summary> |
1377 | // Used when the client initially connects and when client sends RequestPrim packet | 1377 | /// Send the parts of this SOG to a single client |
1378 | /// </summary> | ||
1379 | /// <remarks> | ||
1380 | /// Used when the client initially connects and when client sends RequestPrim packet | ||
1381 | /// </remarks> | ||
1382 | /// <param name="remoteClient"></param> | ||
1378 | public void SendFullUpdateToClient(IClientAPI remoteClient) | 1383 | public void SendFullUpdateToClient(IClientAPI remoteClient) |
1379 | { | 1384 | { |
1380 | RootPart.SendFullUpdate( | 1385 | RootPart.SendFullUpdate(remoteClient); |
1381 | remoteClient, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, RootPart.UUID)); | ||
1382 | 1386 | ||
1383 | SceneObjectPart[] parts = m_parts.GetArray(); | 1387 | SceneObjectPart[] parts = m_parts.GetArray(); |
1384 | for (int i = 0; i < parts.Length; i++) | 1388 | for (int i = 0; i < parts.Length; i++) |
1385 | { | 1389 | { |
1386 | SceneObjectPart part = parts[i]; | 1390 | SceneObjectPart part = parts[i]; |
1387 | if (part != RootPart) | 1391 | if (part != RootPart) |
1388 | part.SendFullUpdate(remoteClient, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, part.UUID)); | 1392 | part.SendFullUpdate(remoteClient); |
1389 | } | 1393 | } |
1390 | } | 1394 | } |
1391 | 1395 | ||
@@ -1679,10 +1683,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1679 | 1683 | ||
1680 | /// <summary> | 1684 | /// <summary> |
1681 | /// Reset the UUIDs for all the prims that make up this group. | 1685 | /// Reset the UUIDs for all the prims that make up this group. |
1682 | /// | 1686 | /// </summary> |
1687 | /// <remarks> | ||
1683 | /// This is called by methods which want to add a new group to an existing scene, in order | 1688 | /// This is called by methods which want to add a new group to an existing scene, in order |
1684 | /// to ensure that there are no clashes with groups already present. | 1689 | /// to ensure that there are no clashes with groups already present. |
1685 | /// </summary> | 1690 | /// </remarks> |
1686 | public void ResetIDs() | 1691 | public void ResetIDs() |
1687 | { | 1692 | { |
1688 | lock (m_parts.SyncRoot) | 1693 | lock (m_parts.SyncRoot) |
@@ -3206,6 +3211,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3206 | part.Inventory.ChangeInventoryGroup(GroupID); | 3211 | part.Inventory.ChangeInventoryGroup(GroupID); |
3207 | } | 3212 | } |
3208 | 3213 | ||
3214 | HasGroupChanged = true; | ||
3215 | |||
3209 | // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled | 3216 | // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled |
3210 | // for the same object with very different properties. The caller must schedule the update. | 3217 | // for the same object with very different properties. The caller must schedule the update. |
3211 | //ScheduleGroupForFullUpdate(); | 3218 | //ScheduleGroupForFullUpdate(); |