Merge commit 'e77c919290e166f19e77f3ef040418dd39f2f5bd' into bigmerge

Conflicts:
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
avinationmerge
Melanie 2011-10-11 23:17:47 +01:00
commit ef9a811ea6
4 changed files with 10 additions and 11 deletions

View File

@ -53,8 +53,7 @@ namespace OpenSim.Framework
public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, List<KeyValuePair<UUID, uint>> rezlist );
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
public delegate void ObjectAttach( public delegate void ObjectAttach(
IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent); IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent);

View File

@ -6145,9 +6145,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv; RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv;
if (handlerRezMultipleAttachments != null) if (handlerRezMultipleAttachments != null)
{ {
RezMultipleAttachmentsFromInvPacket rez = (RezMultipleAttachmentsFromInvPacket)Pack; List<KeyValuePair<UUID, uint>> rezlist = new List<KeyValuePair<UUID, uint>>();
handlerRezMultipleAttachments(this, rez.HeaderData, foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in ((RezMultipleAttachmentsFromInvPacket)Pack).ObjectData)
rez.ObjectData); rezlist.Add(new KeyValuePair<UUID, uint>(obj.ItemID, obj.AttachmentPt));
handlerRezMultipleAttachments(this, rezlist);
} }
return true; return true;

View File

@ -368,8 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
public void RezMultipleAttachmentsFromInventory( public void RezMultipleAttachmentsFromInventory(
IClientAPI remoteClient, IClientAPI remoteClient,
RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, List<KeyValuePair<UUID, uint>> rezlist)
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects)
{ {
if (!Enabled) if (!Enabled)
return; return;
@ -388,9 +387,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
{ {
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); // m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name);
foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in objects) foreach (KeyValuePair<UUID, uint> rez in rezlist)
{ {
RezSingleAttachmentFromInventory(sp, obj.ItemID, obj.AttachmentPt); RezSingleAttachmentFromInventory(sp, rez.Key, rez.Value);
} }
} }
} }

View File

@ -27,6 +27,7 @@
using System; using System;
using System.Xml; using System.Xml;
using System.Collections.Generic;
using OpenMetaverse; using OpenMetaverse;
using OpenMetaverse.Packets; using OpenMetaverse.Packets;
using OpenSim.Framework; using OpenSim.Framework;
@ -109,8 +110,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// <param name="objects"></param> /// <param name="objects"></param>
void RezMultipleAttachmentsFromInventory( void RezMultipleAttachmentsFromInventory(
IClientAPI remoteClient, IClientAPI remoteClient,
RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header, List<KeyValuePair<UUID, uint>> rezlist);
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
/// <summary> /// <summary>
/// Detach an object from the avatar. /// Detach an object from the avatar.