aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Framework/IClientAPI.cs3
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs7
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs7
-rw-r--r--OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs4
4 files changed, 10 insertions, 11 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index cdd50d0..f02543d 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 243dad5..575e5a2 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -6145,9 +6145,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6145 RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv; 6145 RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv;
6146 if (handlerRezMultipleAttachments != null) 6146 if (handlerRezMultipleAttachments != null)
6147 { 6147 {
6148 RezMultipleAttachmentsFromInvPacket rez = (RezMultipleAttachmentsFromInvPacket)Pack; 6148 List<KeyValuePair<UUID, uint>> rezlist = new List<KeyValuePair<UUID, uint>>();
6149 handlerRezMultipleAttachments(this, rez.HeaderData, 6149 foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in ((RezMultipleAttachmentsFromInvPacket)Pack).ObjectData)
6150 rez.ObjectData); 6150 rezlist.Add(new KeyValuePair<UUID, uint>(obj.ItemID, obj.AttachmentPt));
6151 handlerRezMultipleAttachments(this, rezlist);
6151 } 6152 }
6152 6153
6153 return true; 6154 return true;
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 3bdb173..b58a1af 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -368,8 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
368 368
369 public void RezMultipleAttachmentsFromInventory( 369 public void RezMultipleAttachmentsFromInventory(
370 IClientAPI remoteClient, 370 IClientAPI remoteClient,
371 RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, 371 List<KeyValuePair<UUID, uint>> rezlist)
372 RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects)
373 { 372 {
374 if (!Enabled) 373 if (!Enabled)
375 return; 374 return;
@@ -388,9 +387,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
388 { 387 {
389// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); 388// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name);
390 389
391 foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in objects) 390 foreach (KeyValuePair<UUID, uint> rez in rezlist)
392 { 391 {
393 RezSingleAttachmentFromInventory(sp, obj.ItemID, obj.AttachmentPt); 392 RezSingleAttachmentFromInventory(sp, rez.Key, rez.Value);
394 } 393 }
395 } 394 }
396 } 395 }
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
index d1b7dc1..d7f0a96 100644
--- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using System.Xml; 29using System.Xml;
30using System.Collections.Generic;
30using OpenMetaverse; 31using OpenMetaverse;
31using OpenMetaverse.Packets; 32using OpenMetaverse.Packets;
32using OpenSim.Framework; 33using OpenSim.Framework;
@@ -109,8 +110,7 @@ namespace OpenSim.Region.Framework.Interfaces
109 /// <param name="objects"></param> 110 /// <param name="objects"></param>
110 void RezMultipleAttachmentsFromInventory( 111 void RezMultipleAttachmentsFromInventory(
111 IClientAPI remoteClient, 112 IClientAPI remoteClient,
112 RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, 113 List<KeyValuePair<UUID, uint>> rezlist);
113 RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
114 114
115 /// <summary> 115 /// <summary>
116 /// Detach an object from the avatar. 116 /// Detach an object from the avatar.