aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-08-24 01:20:23 +0100
committerJustin Clark-Casey (justincc)2012-08-24 01:20:23 +0100
commit82b23f7cc1e98d5f1a541329a914df3ea648f44c (patch)
treef1a5bd8d62513df798b4acda634090c0e0ca5364 /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
parentRevert "implementing function to allow scripts to self-replicate as if the ow... (diff)
parentMerge branch 'master' of melanie@opensimulator.org:/var/git/opensim (diff)
downloadopensim-SC_OLD-82b23f7cc1e98d5f1a541329a914df3ea648f44c.zip
opensim-SC_OLD-82b23f7cc1e98d5f1a541329a914df3ea648f44c.tar.gz
opensim-SC_OLD-82b23f7cc1e98d5f1a541329a914df3ea648f44c.tar.bz2
opensim-SC_OLD-82b23f7cc1e98d5f1a541329a914df3ea648f44c.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs18
1 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index f6c725b..b4a155e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2131,6 +2131,9 @@ namespace OpenSim.Region.Framework.Scenes
2131 // Can't do this yet since backup still makes use of the root part without any synchronization 2131 // Can't do this yet since backup still makes use of the root part without any synchronization
2132// objectGroup.m_rootPart = null; 2132// objectGroup.m_rootPart = null;
2133 2133
2134 // If linking prims with different permissions, fix them
2135 AdjustChildPrimPermissions();
2136
2134 AttachToBackup(); 2137 AttachToBackup();
2135 2138
2136 // Here's the deal, this is ABSOLUTELY CRITICAL so the physics scene gets the update about the 2139 // Here's the deal, this is ABSOLUTELY CRITICAL so the physics scene gets the update about the
@@ -2622,12 +2625,21 @@ namespace OpenSim.Region.Framework.Scenes
2622 } 2625 }
2623 } 2626 }
2624 2627
2628 public void AdjustChildPrimPermissions()
2629 {
2630 ForEachPart(part =>
2631 {
2632 if (part != RootPart)
2633 part.ClonePermissions(RootPart);
2634 });
2635 }
2636
2625 public void UpdatePermissions(UUID AgentID, byte field, uint localID, 2637 public void UpdatePermissions(UUID AgentID, byte field, uint localID,
2626 uint mask, byte addRemTF) 2638 uint mask, byte addRemTF)
2627 { 2639 {
2628 SceneObjectPart[] parts = m_parts.GetArray(); 2640 RootPart.UpdatePermissions(AgentID, field, localID, mask, addRemTF);
2629 for (int i = 0; i < parts.Length; i++) 2641
2630 parts[i].UpdatePermissions(AgentID, field, localID, mask, addRemTF); 2642 AdjustChildPrimPermissions();
2631 2643
2632 HasGroupChanged = true; 2644 HasGroupChanged = true;
2633 2645