From bdf9add8d1191b08bdaa9706484ac5da1f91af52 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 9 Nov 2008 01:16:42 +0000 Subject: Reintroduce transactionID to the parameter list for SendInstantMessage. It is required by group IM and also for a proper implementation of item give, group notice attachments and offline IM. --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index bb6e62d..3a9c17e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -1067,15 +1067,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp) { - SendInstantMessage(fromAgent, message, toAgent, fromName, dialog, timeStamp, false, new byte[0]); + SendInstantMessage(fromAgent, message, toAgent, fromName, dialog, timeStamp, UUID.Zero, false, new byte[0]); } /// /// Send an instant message to this client /// + // + // Don't remove transaction ID! Groups and item gives need to set it! + // public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, - bool fromGroup, byte[] binaryBucket) + UUID transactionID, bool fromGroup, byte[] binaryBucket) { if (((Scene)(m_scene)).ExternalChecks.ExternalChecksCanInstantMessage(fromAgent, toAgent)) { @@ -1087,7 +1090,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP msg.MessageBlock.FromAgentName = Utils.StringToBytes(fromName); msg.MessageBlock.Dialog = dialog; msg.MessageBlock.FromGroup = fromGroup; - msg.MessageBlock.ID = fromAgent ^ toAgent; + if (transactionID == UUID.Zero) + msg.MessageBlock.ID = fromAgent ^ toAgent; + else + msg.MessageBlock.ID = transactionID; msg.MessageBlock.Offline = 0; msg.MessageBlock.ParentEstateID = 0; msg.MessageBlock.Position = new Vector3(); -- cgit v1.1