diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 06bea3d..6969a3d 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); |
@@ -7027,14 +7027,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7027 | if (OnMoveInventoryItem != null) | 7027 | if (OnMoveInventoryItem != null) |
7028 | { | 7028 | { |
7029 | handlerMoveInventoryItem = null; | 7029 | handlerMoveInventoryItem = null; |
7030 | InventoryItemBase itm = null; | ||
7031 | List<InventoryItemBase> items = new List<InventoryItemBase>(); | ||
7030 | foreach (MoveInventoryItemPacket.InventoryDataBlock datablock in moveitem.InventoryData) | 7032 | foreach (MoveInventoryItemPacket.InventoryDataBlock datablock in moveitem.InventoryData) |
7031 | { | 7033 | { |
7032 | handlerMoveInventoryItem = OnMoveInventoryItem; | 7034 | itm = new InventoryItemBase(datablock.ItemID, AgentId); |
7033 | if (handlerMoveInventoryItem != null) | 7035 | itm.Folder = datablock.FolderID; |
7034 | { | 7036 | itm.Name = Util.FieldToString(datablock.NewName); |
7035 | handlerMoveInventoryItem(this, datablock.FolderID, datablock.ItemID, datablock.Length, | 7037 | // weird, comes out as empty string |
7036 | Util.FieldToString(datablock.NewName)); | 7038 | //m_log.DebugFormat("[XXX] new name: {0}", itm.Name); |
7037 | } | 7039 | items.Add(itm); |
7040 | } | ||
7041 | handlerMoveInventoryItem = OnMoveInventoryItem; | ||
7042 | if (handlerMoveInventoryItem != null) | ||
7043 | { | ||
7044 | handlerMoveInventoryItem(this, items); | ||
7038 | } | 7045 | } |
7039 | } | 7046 | } |
7040 | break; | 7047 | break; |
@@ -7053,14 +7060,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7053 | if (OnRemoveInventoryItem != null) | 7060 | if (OnRemoveInventoryItem != null) |
7054 | { | 7061 | { |
7055 | handlerRemoveInventoryItem = null; | 7062 | handlerRemoveInventoryItem = null; |
7063 | List<UUID> uuids = new List<UUID>(); | ||
7056 | foreach (RemoveInventoryItemPacket.InventoryDataBlock datablock in removeItem.InventoryData) | 7064 | foreach (RemoveInventoryItemPacket.InventoryDataBlock datablock in removeItem.InventoryData) |
7057 | { | 7065 | { |
7058 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | 7066 | uuids.Add(datablock.ItemID); |
7059 | if (handlerRemoveInventoryItem != null) | ||
7060 | { | ||
7061 | handlerRemoveInventoryItem(this, datablock.ItemID); | ||
7062 | } | ||
7063 | } | 7067 | } |
7068 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | ||
7069 | if (handlerRemoveInventoryItem != null) | ||
7070 | { | ||
7071 | handlerRemoveInventoryItem(this, uuids); | ||
7072 | } | ||
7073 | |||
7064 | } | 7074 | } |
7065 | break; | 7075 | break; |
7066 | case PacketType.RemoveInventoryFolder: | 7076 | case PacketType.RemoveInventoryFolder: |
@@ -7116,13 +7126,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7116 | if (OnRemoveInventoryItem != null) | 7126 | if (OnRemoveInventoryItem != null) |
7117 | { | 7127 | { |
7118 | handlerRemoveInventoryItem = null; | 7128 | handlerRemoveInventoryItem = null; |
7129 | List<UUID> uuids = new List<UUID>(); | ||
7119 | foreach (RemoveInventoryObjectsPacket.ItemDataBlock datablock in removeObject.ItemData) | 7130 | foreach (RemoveInventoryObjectsPacket.ItemDataBlock datablock in removeObject.ItemData) |
7120 | { | 7131 | { |
7121 | handlerRemoveInventoryItem = OnRemoveInventoryItem; | 7132 | uuids.Add(datablock.ItemID); |
7122 | if (handlerRemoveInventoryItem != null) | 7133 | } |
7123 | { | 7134 | handlerRemoveInventoryItem = OnRemoveInventoryItem; |
7124 | handlerRemoveInventoryItem(this, datablock.ItemID); | 7135 | if (handlerRemoveInventoryItem != null) |
7125 | } | 7136 | { |
7137 | handlerRemoveInventoryItem(this, uuids); | ||
7126 | } | 7138 | } |
7127 | } | 7139 | } |
7128 | break; | 7140 | break; |