diff options
7 files changed, 38 insertions, 7 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 6be2bd7..5909ce1 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -1158,6 +1158,7 @@ namespace OpenSim.Framework | |||
1158 | /// </summary> | 1158 | /// </summary> |
1159 | /// <param name="Item"></param> | 1159 | /// <param name="Item"></param> |
1160 | void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId); | 1160 | void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId); |
1161 | void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId); | ||
1161 | 1162 | ||
1162 | void SendRemoveInventoryItem(UUID itemID); | 1163 | void SendRemoveInventoryItem(UUID itemID); |
1163 | 1164 | ||
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 7749ef3..ee28914 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -2067,9 +2067,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2067 | OutPacket(bulkUpdate, ThrottleOutPacketType.Asset); | 2067 | OutPacket(bulkUpdate, ThrottleOutPacketType.Asset); |
2068 | } | 2068 | } |
2069 | 2069 | ||
2070 | /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see> | ||
2071 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) | 2070 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) |
2072 | { | 2071 | { |
2072 | SendInventoryItemCreateUpdate(Item, UUID.Zero, callbackId); | ||
2073 | } | ||
2074 | |||
2075 | /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see> | ||
2076 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId) | ||
2077 | { | ||
2073 | const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; | 2078 | const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; |
2074 | 2079 | ||
2075 | UpdateCreateInventoryItemPacket InventoryReply | 2080 | UpdateCreateInventoryItemPacket InventoryReply |
@@ -2079,6 +2084,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2079 | // TODO: don't create new blocks if recycling an old packet | 2084 | // TODO: don't create new blocks if recycling an old packet |
2080 | InventoryReply.AgentData.AgentID = AgentId; | 2085 | InventoryReply.AgentData.AgentID = AgentId; |
2081 | InventoryReply.AgentData.SimApproved = true; | 2086 | InventoryReply.AgentData.SimApproved = true; |
2087 | InventoryReply.AgentData.TransactionID = transactionID; | ||
2082 | InventoryReply.InventoryData = new UpdateCreateInventoryItemPacket.InventoryDataBlock[1]; | 2088 | InventoryReply.InventoryData = new UpdateCreateInventoryItemPacket.InventoryDataBlock[1]; |
2083 | InventoryReply.InventoryData[0] = new UpdateCreateInventoryItemPacket.InventoryDataBlock(); | 2089 | InventoryReply.InventoryData[0] = new UpdateCreateInventoryItemPacket.InventoryDataBlock(); |
2084 | InventoryReply.InventoryData[0].ItemID = Item.ID; | 2090 | InventoryReply.InventoryData[0].ItemID = Item.ID; |
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 305a818..50f5f68 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -216,7 +216,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
216 | m_Scene.AssetService.Store(asset); | 216 | m_Scene.AssetService.Store(asset); |
217 | m_Scene.CreateNewInventoryItem( | 217 | m_Scene.CreateNewInventoryItem( |
218 | remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, | 218 | remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, |
219 | name, description, 0, callbackID, asset, invType, nextOwnerMask, creationDate); | 219 | name, description, 0, callbackID, asset, invType, nextOwnerMask, creationDate,transactionID); |
220 | } | 220 | } |
221 | else | 221 | else |
222 | { | 222 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 2d9a035..dd9210f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -904,11 +904,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
904 | public void CreateNewInventoryItem( | 904 | public void CreateNewInventoryItem( |
905 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, | 905 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, |
906 | string name, string description, uint flags, uint callbackID, | 906 | string name, string description, uint flags, uint callbackID, |
907 | AssetBase asset, sbyte invType, uint nextOwnerMask, int creationDate) | 907 | AssetBase asset, sbyte invType, uint nextOwnerMask, int creationDate, UUID transationID) |
908 | { | 908 | { |
909 | CreateNewInventoryItem( | 909 | CreateNewInventoryItem( |
910 | remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType, | 910 | remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType, |
911 | (uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate); | 911 | (uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate, transationID); |
912 | } | ||
913 | |||
914 | |||
915 | private void CreateNewInventoryItem( | ||
916 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, | ||
917 | string name, string description, uint flags, uint callbackID, AssetBase asset, sbyte invType, | ||
918 | uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate) | ||
919 | { | ||
920 | CreateNewInventoryItem(remoteClient, creatorID, creatorData, folderID, | ||
921 | name, description, flags, callbackID, asset, invType, | ||
922 | baseMask, currentMask, everyoneMask, nextOwnerMask, groupMask, creationDate, UUID.Zero); | ||
912 | } | 923 | } |
913 | 924 | ||
914 | /// <summary> | 925 | /// <summary> |
@@ -933,7 +944,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
933 | private void CreateNewInventoryItem( | 944 | private void CreateNewInventoryItem( |
934 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, | 945 | IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, |
935 | string name, string description, uint flags, uint callbackID, AssetBase asset, sbyte invType, | 946 | string name, string description, uint flags, uint callbackID, AssetBase asset, sbyte invType, |
936 | uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate) | 947 | uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate,UUID transationID) |
937 | { | 948 | { |
938 | InventoryItemBase item = new InventoryItemBase(); | 949 | InventoryItemBase item = new InventoryItemBase(); |
939 | item.Owner = remoteClient.AgentId; | 950 | item.Owner = remoteClient.AgentId; |
@@ -956,7 +967,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
956 | 967 | ||
957 | if (AddInventoryItem(item)) | 968 | if (AddInventoryItem(item)) |
958 | { | 969 | { |
959 | remoteClient.SendInventoryItemCreateUpdate(item, callbackID); | 970 | remoteClient.SendInventoryItemCreateUpdate(item, transationID, callbackID); |
960 | } | 971 | } |
961 | else | 972 | else |
962 | { | 973 | { |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 3b83e58..a484300 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -1100,7 +1100,12 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1100 | 1100 | ||
1101 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) | 1101 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) |
1102 | { | 1102 | { |
1103 | 1103 | ||
1104 | } | ||
1105 | |||
1106 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId) | ||
1107 | { | ||
1108 | |||
1104 | } | 1109 | } |
1105 | 1110 | ||
1106 | public void SendRemoveInventoryItem(UUID itemID) | 1111 | public void SendRemoveInventoryItem(UUID itemID) |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index d00a6c0..7c693b6 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -739,6 +739,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
739 | { | 739 | { |
740 | } | 740 | } |
741 | 741 | ||
742 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId) | ||
743 | { | ||
744 | } | ||
745 | |||
742 | public virtual void SendRemoveInventoryItem(UUID itemID) | 746 | public virtual void SendRemoveInventoryItem(UUID itemID) |
743 | { | 747 | { |
744 | } | 748 | } |
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 6add130..49a8d26 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -716,6 +716,10 @@ namespace OpenSim.Tests.Common.Mock | |||
716 | { | 716 | { |
717 | } | 717 | } |
718 | 718 | ||
719 | public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId) | ||
720 | { | ||
721 | } | ||
722 | |||
719 | public virtual void SendRemoveInventoryItem(UUID itemID) | 723 | public virtual void SendRemoveInventoryItem(UUID itemID) |
720 | { | 724 | { |
721 | } | 725 | } |