diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 2f37483..edb881f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -898,33 +898,33 @@ namespace OpenSim.Region.Framework.Scenes | |||
898 | } | 898 | } |
899 | 899 | ||
900 | 900 | ||
901 | if (remoteClient.AgentId == oldAgentID | 901 | if (remoteClient.AgentId == oldAgentID |
902 | || (LibraryService != null | 902 | || (LibraryService != null |
903 | && LibraryService.LibraryRootFolder != null | 903 | && LibraryService.LibraryRootFolder != null |
904 | && oldAgentID == LibraryService.LibraryRootFolder.Owner)) | 904 | && oldAgentID == LibraryService.LibraryRootFolder.Owner)) |
905 | { | ||
906 | CreateNewInventoryItem( | ||
907 | remoteClient, item.CreatorId, item.CreatorData, newFolderID, | ||
908 | newName, item.Description, item.Flags, callbackID, item.AssetID, (sbyte)item.AssetType, (sbyte)item.InvType, | ||
909 | item.BasePermissions, item.CurrentPermissions, item.EveryOnePermissions, | ||
910 | item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch(), false); | ||
911 | } | ||
912 | else | ||
913 | { | ||
914 | // If item is transfer or permissions are off or calling agent is allowed to copy item owner's inventory item. | ||
915 | if (((item.CurrentPermissions & (uint)PermissionMask.Transfer) != 0) | ||
916 | && (m_permissions.BypassPermissions() | ||
917 | || m_permissions.CanCopyUserInventory(remoteClient.AgentId, oldItemID))) | ||
905 | { | 918 | { |
906 | CreateNewInventoryItem( | 919 | CreateNewInventoryItem( |
907 | remoteClient, item.CreatorId, item.CreatorData, newFolderID, | 920 | remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Description, item.Flags, callbackID, |
908 | newName, item.Description, item.Flags, callbackID, item.AssetID, (sbyte)item.AssetType, (sbyte)item.InvType, | 921 | item.AssetID, (sbyte)item.AssetType, (sbyte) item.InvType, |
909 | item.BasePermissions, item.CurrentPermissions, item.EveryOnePermissions, | 922 | item.NextPermissions, item.NextPermissions, item.EveryOnePermissions & item.NextPermissions, |
910 | item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch(), false); | 923 | item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch(), false); |
911 | } | 924 | } |
912 | else | ||
913 | { | ||
914 | // If item is transfer or permissions are off or calling agent is allowed to copy item owner's inventory item. | ||
915 | if (((item.CurrentPermissions & (uint)PermissionMask.Transfer) != 0) | ||
916 | && (m_permissions.BypassPermissions() | ||
917 | || m_permissions.CanCopyUserInventory(remoteClient.AgentId, oldItemID))) | ||
918 | { | ||
919 | CreateNewInventoryItem( | ||
920 | remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Description, item.Flags, callbackID, | ||
921 | item.AssetID, (sbyte)item.AssetType, (sbyte)item.InvType, | ||
922 | item.NextPermissions, item.NextPermissions, item.EveryOnePermissions & item.NextPermissions, | ||
923 | item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch(), false); | ||
924 | } | ||
925 | } | ||
926 | } | 925 | } |
927 | else | 926 | } |
927 | else | ||
928 | { | 928 | { |
929 | m_log.ErrorFormat( | 929 | m_log.ErrorFormat( |
930 | "[AGENT INVENTORY]: Could not copy item {0} since asset {1} could not be found", | 930 | "[AGENT INVENTORY]: Could not copy item {0} since asset {1} could not be found", |