diff options
author | Dan Lake | 2011-11-10 15:20:21 -0800 |
---|---|---|
committer | Dan Lake | 2011-11-10 15:20:21 -0800 |
commit | 9359293b11dfd0db82ba3ce8110b0014afbde88f (patch) | |
tree | 5ec72bb8306bf6eebbf0fd192de73619e2e9e68b /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |
parent | Merge branch 'master' of git://opensimulator.org/git/opensim (diff) | |
download | opensim-SC_OLD-9359293b11dfd0db82ba3ce8110b0014afbde88f.zip opensim-SC_OLD-9359293b11dfd0db82ba3ce8110b0014afbde88f.tar.gz opensim-SC_OLD-9359293b11dfd0db82ba3ce8110b0014afbde88f.tar.bz2 opensim-SC_OLD-9359293b11dfd0db82ba3ce8110b0014afbde88f.tar.xz |
Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 4071159..ad60604 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1338,22 +1338,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1338 | client.SendObjectPropertiesReply(this); | 1338 | client.SendObjectPropertiesReply(this); |
1339 | } | 1339 | } |
1340 | 1340 | ||
1341 | /// <summary> | ||
1342 | /// For the scene object group to which this part belongs, send that scene object's root part properties to a client. | ||
1343 | /// </summary> | ||
1344 | /// <param name="AgentID"></param> | ||
1345 | private void SendRootPartPropertiesToClient(UUID AgentID) | ||
1346 | { | ||
1347 | m_parentGroup.Scene.ForEachClient(delegate(IClientAPI client) | ||
1348 | { | ||
1349 | // Ugly reference :( | ||
1350 | if (client.AgentId == AgentID) | ||
1351 | { | ||
1352 | m_parentGroup.SendPropertiesToClient(client); | ||
1353 | } | ||
1354 | }); | ||
1355 | } | ||
1356 | |||
1357 | // TODO: unused: | 1341 | // TODO: unused: |
1358 | // private void handleTimerAccounting(uint localID, double interval) | 1342 | // private void handleTimerAccounting(uint localID, double interval) |
1359 | // { | 1343 | // { |
@@ -4214,6 +4198,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
4214 | } | 4198 | } |
4215 | } | 4199 | } |
4216 | 4200 | ||
4201 | /// <summary> | ||
4202 | /// Update permissions on the SOP. Should only be called from SOG.UpdatePermissions because the SOG | ||
4203 | /// will handle the client notifications once all of its parts are updated. | ||
4204 | /// </summary> | ||
4205 | /// <param name="AgentID"></param> | ||
4206 | /// <param name="field"></param> | ||
4207 | /// <param name="localID"></param> | ||
4208 | /// <param name="mask"></param> | ||
4209 | /// <param name="addRemTF"></param> | ||
4217 | public void UpdatePermissions(UUID AgentID, byte field, uint localID, uint mask, byte addRemTF) | 4210 | public void UpdatePermissions(UUID AgentID, byte field, uint localID, uint mask, byte addRemTF) |
4218 | { | 4211 | { |
4219 | bool set = addRemTF == 1; | 4212 | bool set = addRemTF == 1; |
@@ -4262,8 +4255,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
4262 | } | 4255 | } |
4263 | 4256 | ||
4264 | SendFullUpdateToAllClients(); | 4257 | SendFullUpdateToAllClients(); |
4265 | |||
4266 | SendRootPartPropertiesToClient(AgentID); | ||
4267 | } | 4258 | } |
4268 | } | 4259 | } |
4269 | 4260 | ||