diff options
author | MW | 2008-06-29 13:52:03 +0000 |
---|---|---|
committer | MW | 2008-06-29 13:52:03 +0000 |
commit | 79173984513552f33c9ce4e5f015475501286871 (patch) | |
tree | b8e0a81e3da53a073272a9e82c0c8a8ef8af7a34 /OpenSim/Region | |
parent | patch from mantis #1632, thanks Melanie (diff) | |
download | opensim-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.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 19 |
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 | } |