diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 06bea3d..e2fb659 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -6633,9 +6633,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6633 | } | 6633 | } |
6634 | else // Agent | 6634 | else // Agent |
6635 | { | 6635 | { |
6636 | //InventoryItemBase assetRequestItem = userInfo.RootFolder.FindItem(itemID); | ||
6637 | IInventoryService invService = m_scene.RequestModuleInterface<IInventoryService>(); | 6636 | IInventoryService invService = m_scene.RequestModuleInterface<IInventoryService>(); |
6638 | InventoryItemBase assetRequestItem = invService.GetItem(new InventoryItemBase(itemID)); | 6637 | InventoryItemBase assetRequestItem = new InventoryItemBase(itemID, AgentId); |
6638 | assetRequestItem = invService.GetItem(assetRequestItem); | ||
6639 | if (assetRequestItem == null) | 6639 | if (assetRequestItem == null) |
6640 | { | 6640 | { |
6641 | assetRequestItem = ((Scene)m_scene).CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); | 6641 | assetRequestItem = ((Scene)m_scene).CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); |
@@ -7053,14 +7053,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7053 | if (OnRemoveInventoryItem != null) | 7053 | if (OnRemoveInventoryItem != null) |
7054 | { | 7054 | { |
7055 | handlerRemoveInventoryItem = null; | 7055 | handlerRemoveInventoryItem = null; |
7056 | List<UUID> uuids = new List<UUID>(); | ||
7056 | foreach (RemoveInventoryItemPacket.InventoryDataBlock datablock in removeItem.InventoryData) | 7057 | foreach (RemoveInventoryItemPacket.InventoryDataBlock datablock in removeItem.InventoryData) |
7057 | { | 7058 | { |
7058 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | 7059 | uuids.Add(datablock.ItemID); |
7059 | if (handlerRemoveInventoryItem != null) | ||
7060 | { | ||
7061 | handlerRemoveInventoryItem(this, datablock.ItemID); | ||
7062 | } | ||
7063 | } | 7060 | } |
7061 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | ||
7062 | if (handlerRemoveInventoryItem != null) | ||
7063 | { | ||
7064 | handlerRemoveInventoryItem(this, uuids); | ||
7065 | } | ||
7066 | |||
7064 | } | 7067 | } |
7065 | break; | 7068 | break; |
7066 | case PacketType.RemoveInventoryFolder: | 7069 | case PacketType.RemoveInventoryFolder: |
@@ -7116,13 +7119,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7116 | if (OnRemoveInventoryItem != null) | 7119 | if (OnRemoveInventoryItem != null) |
7117 | { | 7120 | { |
7118 | handlerRemoveInventoryItem = null; | 7121 | handlerRemoveInventoryItem = null; |
7122 | List<UUID> uuids = new List<UUID>(); | ||
7119 | foreach (RemoveInventoryObjectsPacket.ItemDataBlock datablock in removeObject.ItemData) | 7123 | foreach (RemoveInventoryObjectsPacket.ItemDataBlock datablock in removeObject.ItemData) |
7120 | { | 7124 | { |
7121 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | 7125 | uuids.Add(datablock.ItemID); |
7122 | if (handlerRemoveInventoryItem != null) | 7126 | } |
7123 | { | 7127 | handlerRemoveInventoryItem = OnRemoveInventoryItem; |
7124 | handlerRemoveInventoryItem(this, datablock.ItemID); | 7128 | if (handlerRemoveInventoryItem != null) |
7125 | } | 7129 | { |
7130 | handlerRemoveInventoryItem(this, uuids); | ||
7126 | } | 7131 | } |
7127 | } | 7132 | } |
7128 | break; | 7133 | break; |