diff options
Diffstat (limited to '')
4 files changed, 20 insertions, 31 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 49a708b..d4a929c 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -175,8 +175,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
175 | /// <param name="nextOwnerMask"></param> | 175 | /// <param name="nextOwnerMask"></param> |
176 | public void CreateNewInventoryItem(IClientAPI remoteClient, UUID transactionID, UUID folderID, | 176 | public void CreateNewInventoryItem(IClientAPI remoteClient, UUID transactionID, UUID folderID, |
177 | uint callbackID, string description, string name, sbyte invType, | 177 | uint callbackID, string description, string name, sbyte invType, |
178 | sbyte assetType, | 178 | sbyte assetType, byte wearableType, |
179 | byte wearableType, uint nextOwnerMask, int creationDate) | 179 | uint nextOwnerMask, int creationDate) |
180 | { | 180 | { |
181 | m_log.DebugFormat("[INVENTORY ACCESS MODULE]: Received request to create inventory item {0} in folder {1}, transactionID {2}", name, | 181 | m_log.DebugFormat("[INVENTORY ACCESS MODULE]: Received request to create inventory item {0} in folder {1}, transactionID {2}", name, |
182 | folderID, transactionID); | 182 | folderID, transactionID); |
@@ -220,7 +220,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
220 | m_Scene.AssetService.Store(asset); | 220 | m_Scene.AssetService.Store(asset); |
221 | m_Scene.CreateNewInventoryItem( | 221 | m_Scene.CreateNewInventoryItem( |
222 | remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, | 222 | remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, |
223 | name, description, 0, callbackID, asset.FullID, asset.Type, invType, nextOwnerMask, creationDate); | 223 | name, description, 0, callbackID, asset.FullID, asset.Type, invType, |
224 | (uint)PermissionMask.All | (uint)PermissionMask.Export, // Base | ||
225 | (uint)PermissionMask.All | (uint)PermissionMask.Export, // Current | ||
226 | 0, nextOwnerMask, 0, creationDate, false); // Data from viewer | ||
224 | } | 227 | } |
225 | else | 228 | else |
226 | { | 229 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index a28737e..b77b860 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -980,32 +980,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
980 | } | 980 | } |
981 | 981 | ||
982 | /// <summary> | 982 | /// <summary> |
983 | /// Create a new inventory item. | ||
984 | /// </summary> | ||
985 | /// <param name="remoteClient">Client creating this inventory item.</param> | ||
986 | /// <param name="creatorID"></param> | ||
987 | /// <param name="creatorData"></param> | ||
988 | /// <param name="folderID">UUID of folder in which this item should be placed.</param> | ||
989 | /// <param name="name">Item name.</para> | ||
990 | /// <param name="description">Item description.</param> | ||
991 | /// <param name="flags">Item flags</param> | ||
992 | /// <param name="callbackID">Generated by the client.</para> | ||
993 | /// <param name="asset">Asset to which this item refers.</param> | ||
994 | /// <param name="invType">Type of inventory item.</param> | ||
995 | /// <param name="nextOwnerMask">Next owner pemrissions mask.</param> | ||
996 | /// <param name="creationDate">Unix timestamp at which this item was created.</param> | ||
997 | public void CreateNewInventoryItem( | ||
998 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, | ||
999 | string name, string description, uint flags, uint callbackID, | ||
1000 | UUID assetID, sbyte assetType, sbyte invType, uint nextOwnerMask, int creationDate) | ||
1001 | { | ||
1002 | CreateNewInventoryItem( | ||
1003 | remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, assetID, assetType, invType, | ||
1004 | (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, 0, nextOwnerMask, 0, | ||
1005 | creationDate, true); | ||
1006 | } | ||
1007 | |||
1008 | /// <summary> | ||
1009 | /// Create a new Inventory Item | 983 | /// Create a new Inventory Item |
1010 | /// </summary> | 984 | /// </summary> |
1011 | /// <param name="remoteClient">Client creating this inventory item.</param> | 985 | /// <param name="remoteClient">Client creating this inventory item.</param> |
@@ -1024,7 +998,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1024 | /// <param name="nextOwnerMask">Next owner pemrissions mask.</param> | 998 | /// <param name="nextOwnerMask">Next owner pemrissions mask.</param> |
1025 | /// <param name="groupMask">Group permissions mask.</param> | 999 | /// <param name="groupMask">Group permissions mask.</param> |
1026 | /// <param name="creationDate">Unix timestamp at which this item was created.</param> | 1000 | /// <param name="creationDate">Unix timestamp at which this item was created.</param> |
1027 | private void CreateNewInventoryItem( | 1001 | public void CreateNewInventoryItem( |
1028 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, | 1002 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, |
1029 | string name, string description, uint flags, uint callbackID, UUID assetID, sbyte assetType, sbyte invType, | 1003 | string name, string description, uint flags, uint callbackID, UUID assetID, sbyte assetType, sbyte invType, |
1030 | uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate, | 1004 | uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate, |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 058b6f6..e829b15 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2566,6 +2566,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
2566 | sceneObject = new SceneObjectGroup(ownerID, pos, rot, shape); | 2566 | sceneObject = new SceneObjectGroup(ownerID, pos, rot, shape); |
2567 | AddNewSceneObject(sceneObject, true); | 2567 | AddNewSceneObject(sceneObject, true); |
2568 | sceneObject.SetGroup(groupID, null); | 2568 | sceneObject.SetGroup(groupID, null); |
2569 | |||
2570 | if (AgentPreferencesService != null) // This will override the brave new full perm world! | ||
2571 | { | ||
2572 | AgentPrefs prefs = AgentPreferencesService.GetAgentPreferences(ownerID); | ||
2573 | // Only apply user selected prefs if the user set them | ||
2574 | if (prefs.PermNextOwner != 0) | ||
2575 | { | ||
2576 | sceneObject.RootPart.GroupMask = (uint)prefs.PermGroup; | ||
2577 | sceneObject.RootPart.EveryoneMask = (uint)prefs.PermEveryone; | ||
2578 | sceneObject.RootPart.NextOwnerMask = (uint)prefs.PermNextOwner; | ||
2579 | } | ||
2580 | } | ||
2569 | } | 2581 | } |
2570 | 2582 | ||
2571 | if (UserManagementModule != null) | 2583 | if (UserManagementModule != null) |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index c17961b..7d95c8d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -482,7 +482,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
482 | private uint _ownerMask = (uint)(PermissionMask.All | PermissionMask.Export); | 482 | private uint _ownerMask = (uint)(PermissionMask.All | PermissionMask.Export); |
483 | private uint _groupMask = (uint)PermissionMask.None; | 483 | private uint _groupMask = (uint)PermissionMask.None; |
484 | private uint _everyoneMask = (uint)PermissionMask.None; | 484 | private uint _everyoneMask = (uint)PermissionMask.None; |
485 | private uint _nextOwnerMask = (uint)(PermissionMask.Move | PermissionMask.Modify | PermissionMask.Transfer); | 485 | private uint _nextOwnerMask = (uint)(PermissionMask.Move | PermissionMask.Transfer); |
486 | private PrimFlags _flags = PrimFlags.None; | 486 | private PrimFlags _flags = PrimFlags.None; |
487 | private DateTime m_expires; | 487 | private DateTime m_expires; |
488 | private DateTime m_rezzed; | 488 | private DateTime m_rezzed; |