aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs19
1 files changed, 14 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 2b3ddaa..513d40d 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1843,15 +1843,18 @@ namespace OpenSim.Region.Environment.Scenes
1843 1843
1844 if (rootPart.OwnerID != item.Owner) 1844 if (rootPart.OwnerID != item.Owner)
1845 { 1845 {
1846 if ((item.CurrentPermissions & 8) != 0) 1846 if (ExternalChecks.ExternalChecksPropagatePermissions())
1847 { 1847 {
1848 foreach (SceneObjectPart part in partList) 1848 if ((item.CurrentPermissions & 8) != 0)
1849 { 1849 {
1850 part.EveryoneMask = item.EveryOnePermissions; 1850 foreach (SceneObjectPart part in partList)
1851 part.NextOwnerMask = item.NextPermissions; 1851 {
1852 part.EveryoneMask = item.EveryOnePermissions;
1853 part.NextOwnerMask = item.NextPermissions;
1854 }
1852 } 1855 }
1856 group.ApplyNextOwnerPermissions();
1853 } 1857 }
1854 group.ApplyNextOwnerPermissions();
1855 } 1858 }
1856 1859
1857 foreach (SceneObjectPart part in partList) 1860 foreach (SceneObjectPart part in partList)
@@ -1887,6 +1890,12 @@ namespace OpenSim.Region.Environment.Scenes
1887 if (!attachment) 1890 if (!attachment)
1888 rootPart.ScheduleFullUpdate(); 1891 rootPart.ScheduleFullUpdate();
1889 1892
1893 if (!ExternalChecks.ExternalChecksBypassPermissions())
1894 {
1895 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
1896 userInfo.DeleteItem(item.ID);
1897 }
1898
1890 return rootPart.ParentGroup; 1899 return rootPart.ParentGroup;
1891 } 1900 }
1892 } 1901 }