diff options
Diffstat (limited to '')
4 files changed, 11 insertions, 12 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 47e79d1..d8ccc89 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -53,8 +53,7 @@ namespace OpenSim.Framework | |||
53 | 53 | ||
54 | public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); | 54 | public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); |
55 | 55 | ||
56 | public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, | 56 | public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, List<KeyValuePair<UUID, uint>> rezlist ); |
57 | RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects); | ||
58 | 57 | ||
59 | public delegate void ObjectAttach( | 58 | public delegate void ObjectAttach( |
60 | IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent); | 59 | IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent); |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index ce2ff86..29dce17 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -6079,9 +6079,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6079 | RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv; | 6079 | RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv; |
6080 | if (handlerRezMultipleAttachments != null) | 6080 | if (handlerRezMultipleAttachments != null) |
6081 | { | 6081 | { |
6082 | RezMultipleAttachmentsFromInvPacket rez = (RezMultipleAttachmentsFromInvPacket)Pack; | 6082 | List<KeyValuePair<UUID, uint>> rezlist = new List<KeyValuePair<UUID, uint>>(); |
6083 | handlerRezMultipleAttachments(this, rez.HeaderData, | 6083 | foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in ((RezMultipleAttachmentsFromInvPacket)Pack).ObjectData) |
6084 | rez.ObjectData); | 6084 | rezlist.Add(new KeyValuePair<UUID, uint>(obj.ItemID, obj.AttachmentPt)); |
6085 | handlerRezMultipleAttachments(this, rezlist); | ||
6085 | } | 6086 | } |
6086 | 6087 | ||
6087 | return true; | 6088 | return true; |
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 8757251..48695a4 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | |||
@@ -360,8 +360,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
360 | 360 | ||
361 | public void RezMultipleAttachmentsFromInventory( | 361 | public void RezMultipleAttachmentsFromInventory( |
362 | IClientAPI remoteClient, | 362 | IClientAPI remoteClient, |
363 | RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, | 363 | List<KeyValuePair<UUID, uint>> rezlist) |
364 | RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects) | ||
365 | { | 364 | { |
366 | if (!Enabled) | 365 | if (!Enabled) |
367 | return; | 366 | return; |
@@ -380,9 +379,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
380 | { | 379 | { |
381 | // m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); | 380 | // m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); |
382 | 381 | ||
383 | foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in objects) | 382 | foreach (KeyValuePair<UUID, uint> rez in rezlist) |
384 | { | 383 | { |
385 | RezSingleAttachmentFromInventory(sp, obj.ItemID, obj.AttachmentPt); | 384 | RezSingleAttachmentFromInventory(sp, rez.Key, rez.Value); |
386 | } | 385 | } |
387 | } | 386 | } |
388 | } | 387 | } |
@@ -941,4 +940,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
941 | return item; | 940 | return item; |
942 | } | 941 | } |
943 | } | 942 | } |
944 | } \ No newline at end of file | 943 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index 5ffbec8..8d3366c 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using OpenMetaverse; | 30 | using OpenMetaverse; |
30 | using OpenMetaverse.Packets; | 31 | using OpenMetaverse.Packets; |
31 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -104,8 +105,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
104 | /// <param name="objects"></param> | 105 | /// <param name="objects"></param> |
105 | void RezMultipleAttachmentsFromInventory( | 106 | void RezMultipleAttachmentsFromInventory( |
106 | IClientAPI remoteClient, | 107 | IClientAPI remoteClient, |
107 | RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, | 108 | List<KeyValuePair<UUID, uint>> rezlist); |
108 | RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects); | ||
109 | 109 | ||
110 | /// <summary> | 110 | /// <summary> |
111 | /// Detach an object from the avatar. | 111 | /// Detach an object from the avatar. |