aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorDan Lake2011-11-10 15:20:21 -0800
committerDan Lake2011-11-10 15:20:21 -0800
commit9359293b11dfd0db82ba3ce8110b0014afbde88f (patch)
tree5ec72bb8306bf6eebbf0fd192de73619e2e9e68b /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
parentMerge branch 'master' of git://opensimulator.org/git/opensim (diff)
downloadopensim-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.cs27
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