diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 27 |
2 files changed, 15 insertions, 19 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index b758b8f..da10505 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2261,7 +2261,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2261 | } | 2261 | } |
2262 | 2262 | ||
2263 | /// <summary> | 2263 | /// <summary> |
2264 | /// Send metadata about the root prim (name, description, sale price, etc.) to a client. | 2264 | /// Send metadata about the root prim (name, description, sale price, permissions, etc.) to a client. |
2265 | /// </summary> | 2265 | /// </summary> |
2266 | /// <param name="client"></param> | 2266 | /// <param name="client"></param> |
2267 | public void SendPropertiesToClient(IClientAPI client) | 2267 | public void SendPropertiesToClient(IClientAPI client) |
@@ -2886,6 +2886,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2886 | parts[i].UpdatePermissions(AgentID, field, localID, mask, addRemTF); | 2886 | parts[i].UpdatePermissions(AgentID, field, localID, mask, addRemTF); |
2887 | 2887 | ||
2888 | HasGroupChanged = true; | 2888 | HasGroupChanged = true; |
2889 | |||
2890 | // Send the group's properties to all clients once all parts are updated | ||
2891 | IClientAPI client; | ||
2892 | if (Scene.TryGetClient(AgentID, out client)) | ||
2893 | SendPropertiesToClient(client); | ||
2889 | } | 2894 | } |
2890 | 2895 | ||
2891 | #endregion | 2896 | #endregion |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index e4bee0c..0970c92 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1391,22 +1391,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1391 | client.SendObjectPropertiesReply(this); | 1391 | client.SendObjectPropertiesReply(this); |
1392 | } | 1392 | } |
1393 | 1393 | ||
1394 | /// <summary> | ||
1395 | /// For the scene object group to which this part belongs, send that scene object's root part properties to a client. | ||
1396 | /// </summary> | ||
1397 | /// <param name="AgentID"></param> | ||
1398 | private void SendRootPartPropertiesToClient(UUID AgentID) | ||
1399 | { | ||
1400 | m_parentGroup.Scene.ForEachClient(delegate(IClientAPI client) | ||
1401 | { | ||
1402 | // Ugly reference :( | ||
1403 | if (client.AgentId == AgentID) | ||
1404 | { | ||
1405 | m_parentGroup.SendPropertiesToClient(client); | ||
1406 | } | ||
1407 | }); | ||
1408 | } | ||
1409 | |||
1410 | // TODO: unused: | 1394 | // TODO: unused: |
1411 | // private void handleTimerAccounting(uint localID, double interval) | 1395 | // private void handleTimerAccounting(uint localID, double interval) |
1412 | // { | 1396 | // { |
@@ -4268,6 +4252,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
4268 | } | 4252 | } |
4269 | } | 4253 | } |
4270 | 4254 | ||
4255 | /// <summary> | ||
4256 | /// Update permissions on the SOP. Should only be called from SOG.UpdatePermissions because the SOG | ||
4257 | /// will handle the client notifications once all of its parts are updated. | ||
4258 | /// </summary> | ||
4259 | /// <param name="AgentID"></param> | ||
4260 | /// <param name="field"></param> | ||
4261 | /// <param name="localID"></param> | ||
4262 | /// <param name="mask"></param> | ||
4263 | /// <param name="addRemTF"></param> | ||
4271 | public void UpdatePermissions(UUID AgentID, byte field, uint localID, uint mask, byte addRemTF) | 4264 | public void UpdatePermissions(UUID AgentID, byte field, uint localID, uint mask, byte addRemTF) |
4272 | { | 4265 | { |
4273 | bool set = addRemTF == 1; | 4266 | bool set = addRemTF == 1; |
@@ -4316,8 +4309,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
4316 | } | 4309 | } |
4317 | 4310 | ||
4318 | SendFullUpdateToAllClients(); | 4311 | SendFullUpdateToAllClients(); |
4319 | |||
4320 | SendRootPartPropertiesToClient(AgentID); | ||
4321 | } | 4312 | } |
4322 | } | 4313 | } |
4323 | 4314 | ||