aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMW2008-06-29 13:52:03 +0000
committerMW2008-06-29 13:52:03 +0000
commit79173984513552f33c9ce4e5f015475501286871 (patch)
treeb8e0a81e3da53a073272a9e82c0c8a8ef8af7a34
parentpatch from mantis #1632, thanks Melanie (diff)
downloadopensim-SC_OLD-79173984513552f33c9ce4e5f015475501286871.zip
opensim-SC_OLD-79173984513552f33c9ce4e5f015475501286871.tar.gz
opensim-SC_OLD-79173984513552f33c9ce4e5f015475501286871.tar.bz2
opensim-SC_OLD-79173984513552f33c9ce4e5f015475501286871.tar.xz
added patch 1633, thanks Melanie.
Although I think a bit of abstraction needs to be done to make it easy to override the deleting off the inventory item when rezzing a object.
-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 }