aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorUbitUmarov2017-01-17 01:22:44 +0000
committerUbitUmarov2017-01-17 01:22:44 +0000
commit11134072806f43ddd35fe2a70331a4877ab1b38f (patch)
treebf573760bda81a9e0442df896f082b8d8440236d /OpenSim/Region/Framework/Scenes
parentstart adding calls to effective permissions aggregation on changes; rearrange... (diff)
downloadopensim-SC-11134072806f43ddd35fe2a70331a4877ab1b38f.zip
opensim-SC-11134072806f43ddd35fe2a70331a4877ab1b38f.tar.gz
opensim-SC-11134072806f43ddd35fe2a70331a4877ab1b38f.tar.bz2
opensim-SC-11134072806f43ddd35fe2a70331a4877ab1b38f.tar.xz
add more calls to effective permissions aggregation; do not change groupmask on deed
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs11
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs1
3 files changed, 13 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index ea100ae..c913271 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2754,9 +2754,16 @@ namespace OpenSim.Region.Framework.Scenes
2754 continue; 2754 continue;
2755 2755
2756 sog.SetOwnerId(groupID); 2756 sog.SetOwnerId(groupID);
2757 // Make the group mask be the previous owner mask 2757
2758 sog.RootPart.GroupMask = sog.RootPart.OwnerMask; 2758 // this is wrong, GroupMask is used for group sharing, still possible to set
2759 // this whould give owner rights to users that are member of group but don't have role powers to edit
2760// sog.RootPart.GroupMask = sog.RootPart.OwnerMask;
2761
2762 // we should keep all permissions on deed to group
2763 // and with this comented code, if user does not set next permissions on the object
2764 // and on ALL contents of ALL prims, he may loose rights, making the object useless
2759 sog.ApplyNextOwnerPermissions(); 2765 sog.ApplyNextOwnerPermissions();
2766 sog.AggregatePerms();
2760 2767
2761 sog.ScheduleGroupForFullUpdate(); 2768 sog.ScheduleGroupForFullUpdate();
2762 2769
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 639c8dd..033170d 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2764,7 +2764,10 @@ namespace OpenSim.Region.Framework.Scenes
2764 { 2764 {
2765 // Apply Next Owner Permissions if we're not bypassing permissions 2765 // Apply Next Owner Permissions if we're not bypassing permissions
2766 if (!m_scene.Permissions.BypassPermissions()) 2766 if (!m_scene.Permissions.BypassPermissions())
2767 {
2767 ApplyNextOwnerPermissions(); 2768 ApplyNextOwnerPermissions();
2769 AggregatePerms();
2770 }
2768 } 2771 }
2769 2772
2770 rpart.ScheduleFullUpdate(); 2773 rpart.ScheduleFullUpdate();
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 4dd8eb1..29d9f08 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -980,6 +980,7 @@ namespace OpenSim.Region.Framework.Scenes
980 } 980 }
981// old code end 981// old code end
982 rootPart.TrimPermissions(); 982 rootPart.TrimPermissions();
983 group.AggregateDeepPerms();
983 } 984 }
984 985
985 return true; 986 return true;