diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 78 |
1 files changed, 47 insertions, 31 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 06bea3d..dd01780 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2177,7 +2177,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2177 | bulkUpdate.AgentData.AgentID = AgentId; | 2177 | bulkUpdate.AgentData.AgentID = AgentId; |
2178 | bulkUpdate.AgentData.TransactionID = transactionId; | 2178 | bulkUpdate.AgentData.TransactionID = transactionId; |
2179 | bulkUpdate.FolderData = folderDataBlocks.ToArray(); | 2179 | bulkUpdate.FolderData = folderDataBlocks.ToArray(); |
2180 | 2180 | List<BulkUpdateInventoryPacket.ItemDataBlock> foo = new List<BulkUpdateInventoryPacket.ItemDataBlock>(); | |
2181 | bulkUpdate.ItemData = foo.ToArray(); | ||
2182 | |||
2181 | //m_log.Debug("SendBulkUpdateInventory :" + bulkUpdate); | 2183 | //m_log.Debug("SendBulkUpdateInventory :" + bulkUpdate); |
2182 | OutPacket(bulkUpdate, ThrottleOutPacketType.Asset); | 2184 | OutPacket(bulkUpdate, ThrottleOutPacketType.Asset); |
2183 | } | 2185 | } |
@@ -6633,9 +6635,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6633 | } | 6635 | } |
6634 | else // Agent | 6636 | else // Agent |
6635 | { | 6637 | { |
6636 | //InventoryItemBase assetRequestItem = userInfo.RootFolder.FindItem(itemID); | ||
6637 | IInventoryService invService = m_scene.RequestModuleInterface<IInventoryService>(); | 6638 | IInventoryService invService = m_scene.RequestModuleInterface<IInventoryService>(); |
6638 | InventoryItemBase assetRequestItem = invService.GetItem(new InventoryItemBase(itemID)); | 6639 | InventoryItemBase assetRequestItem = new InventoryItemBase(itemID, AgentId); |
6640 | assetRequestItem = invService.GetItem(assetRequestItem); | ||
6639 | if (assetRequestItem == null) | 6641 | if (assetRequestItem == null) |
6640 | { | 6642 | { |
6641 | assetRequestItem = ((Scene)m_scene).CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); | 6643 | assetRequestItem = ((Scene)m_scene).CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); |
@@ -7027,14 +7029,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7027 | if (OnMoveInventoryItem != null) | 7029 | if (OnMoveInventoryItem != null) |
7028 | { | 7030 | { |
7029 | handlerMoveInventoryItem = null; | 7031 | handlerMoveInventoryItem = null; |
7032 | InventoryItemBase itm = null; | ||
7033 | List<InventoryItemBase> items = new List<InventoryItemBase>(); | ||
7030 | foreach (MoveInventoryItemPacket.InventoryDataBlock datablock in moveitem.InventoryData) | 7034 | foreach (MoveInventoryItemPacket.InventoryDataBlock datablock in moveitem.InventoryData) |
7031 | { | 7035 | { |
7032 | handlerMoveInventoryItem = OnMoveInventoryItem; | 7036 | itm = new InventoryItemBase(datablock.ItemID, AgentId); |
7033 | if (handlerMoveInventoryItem != null) | 7037 | itm.Folder = datablock.FolderID; |
7034 | { | 7038 | itm.Name = Util.FieldToString(datablock.NewName); |
7035 | handlerMoveInventoryItem(this, datablock.FolderID, datablock.ItemID, datablock.Length, | 7039 | // weird, comes out as empty string |
7036 | Util.FieldToString(datablock.NewName)); | 7040 | //m_log.DebugFormat("[XXX] new name: {0}", itm.Name); |
7037 | } | 7041 | items.Add(itm); |
7042 | } | ||
7043 | handlerMoveInventoryItem = OnMoveInventoryItem; | ||
7044 | if (handlerMoveInventoryItem != null) | ||
7045 | { | ||
7046 | handlerMoveInventoryItem(this, items); | ||
7038 | } | 7047 | } |
7039 | } | 7048 | } |
7040 | break; | 7049 | break; |
@@ -7053,14 +7062,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7053 | if (OnRemoveInventoryItem != null) | 7062 | if (OnRemoveInventoryItem != null) |
7054 | { | 7063 | { |
7055 | handlerRemoveInventoryItem = null; | 7064 | handlerRemoveInventoryItem = null; |
7065 | List<UUID> uuids = new List<UUID>(); | ||
7056 | foreach (RemoveInventoryItemPacket.InventoryDataBlock datablock in removeItem.InventoryData) | 7066 | foreach (RemoveInventoryItemPacket.InventoryDataBlock datablock in removeItem.InventoryData) |
7057 | { | 7067 | { |
7058 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | 7068 | uuids.Add(datablock.ItemID); |
7059 | if (handlerRemoveInventoryItem != null) | 7069 | } |
7060 | { | 7070 | handlerRemoveInventoryItem = OnRemoveInventoryItem; |
7061 | handlerRemoveInventoryItem(this, datablock.ItemID); | 7071 | if (handlerRemoveInventoryItem != null) |
7062 | } | 7072 | { |
7073 | handlerRemoveInventoryItem(this, uuids); | ||
7063 | } | 7074 | } |
7075 | |||
7064 | } | 7076 | } |
7065 | break; | 7077 | break; |
7066 | case PacketType.RemoveInventoryFolder: | 7078 | case PacketType.RemoveInventoryFolder: |
@@ -7078,14 +7090,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7078 | if (OnRemoveInventoryFolder != null) | 7090 | if (OnRemoveInventoryFolder != null) |
7079 | { | 7091 | { |
7080 | handlerRemoveInventoryFolder = null; | 7092 | handlerRemoveInventoryFolder = null; |
7093 | List<UUID> uuids = new List<UUID>(); | ||
7081 | foreach (RemoveInventoryFolderPacket.FolderDataBlock datablock in removeFolder.FolderData) | 7094 | foreach (RemoveInventoryFolderPacket.FolderDataBlock datablock in removeFolder.FolderData) |
7082 | { | 7095 | { |
7083 | handlerRemoveInventoryFolder = OnRemoveInventoryFolder; | 7096 | uuids.Add(datablock.FolderID); |
7084 | 7097 | } | |
7085 | if (handlerRemoveInventoryFolder != null) | 7098 | handlerRemoveInventoryFolder = OnRemoveInventoryFolder; |
7086 | { | 7099 | if (handlerRemoveInventoryFolder != null) |
7087 | handlerRemoveInventoryFolder(this, datablock.FolderID); | 7100 | { |
7088 | } | 7101 | handlerRemoveInventoryFolder(this, uuids); |
7089 | } | 7102 | } |
7090 | } | 7103 | } |
7091 | break; | 7104 | break; |
@@ -7102,27 +7115,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7102 | if (OnRemoveInventoryFolder != null) | 7115 | if (OnRemoveInventoryFolder != null) |
7103 | { | 7116 | { |
7104 | handlerRemoveInventoryFolder = null; | 7117 | handlerRemoveInventoryFolder = null; |
7118 | List<UUID> uuids = new List<UUID>(); | ||
7105 | foreach (RemoveInventoryObjectsPacket.FolderDataBlock datablock in removeObject.FolderData) | 7119 | foreach (RemoveInventoryObjectsPacket.FolderDataBlock datablock in removeObject.FolderData) |
7106 | { | 7120 | { |
7107 | handlerRemoveInventoryFolder = OnRemoveInventoryFolder; | 7121 | uuids.Add(datablock.FolderID); |
7108 | 7122 | } | |
7109 | if (handlerRemoveInventoryFolder != null) | 7123 | handlerRemoveInventoryFolder = OnRemoveInventoryFolder; |
7110 | { | 7124 | if (handlerRemoveInventoryFolder != null) |
7111 | handlerRemoveInventoryFolder(this, datablock.FolderID); | 7125 | { |
7112 | } | 7126 | handlerRemoveInventoryFolder(this, uuids); |
7113 | } | 7127 | } |
7114 | } | 7128 | } |
7115 | 7129 | ||
7116 | if (OnRemoveInventoryItem != null) | 7130 | if (OnRemoveInventoryItem != null) |
7117 | { | 7131 | { |
7118 | handlerRemoveInventoryItem = null; | 7132 | handlerRemoveInventoryItem = null; |
7133 | List<UUID> uuids = new List<UUID>(); | ||
7119 | foreach (RemoveInventoryObjectsPacket.ItemDataBlock datablock in removeObject.ItemData) | 7134 | foreach (RemoveInventoryObjectsPacket.ItemDataBlock datablock in removeObject.ItemData) |
7120 | { | 7135 | { |
7121 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | 7136 | uuids.Add(datablock.ItemID); |
7122 | if (handlerRemoveInventoryItem != null) | 7137 | } |
7123 | { | 7138 | handlerRemoveInventoryItem = OnRemoveInventoryItem; |
7124 | handlerRemoveInventoryItem(this, datablock.ItemID); | 7139 | if (handlerRemoveInventoryItem != null) |
7125 | } | 7140 | { |
7141 | handlerRemoveInventoryItem(this, uuids); | ||
7126 | } | 7142 | } |
7127 | } | 7143 | } |
7128 | break; | 7144 | break; |