diff options
7 files changed, 21 insertions, 13 deletions
diff --git a/OpenSim/Framework/Client/IClientIM.cs b/OpenSim/Framework/Client/IClientIM.cs index a3498c2..1d55d10 100644 --- a/OpenSim/Framework/Client/IClientIM.cs +++ b/OpenSim/Framework/Client/IClientIM.cs | |||
@@ -39,7 +39,9 @@ namespace OpenSim.Framework.Client | |||
39 | 39 | ||
40 | void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, | 40 | void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, |
41 | string fromName, byte dialog, uint timeStamp, | 41 | string fromName, byte dialog, uint timeStamp, |
42 | bool fromGroup, byte[] binaryBucket); | 42 | UUID transactionID, bool fromGroup, |
43 | byte[] binaryBucket); | ||
44 | |||
43 | event ImprovedInstantMessage OnInstantMessage; | 45 | event ImprovedInstantMessage OnInstantMessage; |
44 | } | 46 | } |
45 | } | 47 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 061676e..7a3931f 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -741,7 +741,7 @@ namespace OpenSim.Framework | |||
741 | uint timeStamp); | 741 | uint timeStamp); |
742 | 742 | ||
743 | void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, | 743 | void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, |
744 | uint timeStamp, bool fromGroup, byte[] binaryBucket); | 744 | uint timeStamp, UUID transactionID, bool fromGroup, byte[] binaryBucket); |
745 | 745 | ||
746 | void SendGenericMessage(string method, List<string> message); | 746 | void SendGenericMessage(string method, List<string> message); |
747 | 747 | ||
@@ -1027,4 +1027,4 @@ namespace OpenSim.Framework | |||
1027 | 1027 | ||
1028 | void KillEndDone(); | 1028 | void KillEndDone(); |
1029 | } | 1029 | } |
1030 | } \ No newline at end of file | 1030 | } |
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 | |||
1067 | /// </summary> | 1067 | /// </summary> |
1068 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp) | 1068 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp) |
1069 | { | 1069 | { |
1070 | SendInstantMessage(fromAgent, message, toAgent, fromName, dialog, timeStamp, false, new byte[0]); | 1070 | SendInstantMessage(fromAgent, message, toAgent, fromName, dialog, timeStamp, UUID.Zero, false, new byte[0]); |
1071 | } | 1071 | } |
1072 | 1072 | ||
1073 | /// <summary> | 1073 | /// <summary> |
1074 | /// Send an instant message to this client | 1074 | /// Send an instant message to this client |
1075 | /// </summary> | 1075 | /// </summary> |
1076 | // | ||
1077 | // Don't remove transaction ID! Groups and item gives need to set it! | ||
1078 | // | ||
1076 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, | 1079 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, |
1077 | string fromName, byte dialog, uint timeStamp, | 1080 | string fromName, byte dialog, uint timeStamp, |
1078 | bool fromGroup, byte[] binaryBucket) | 1081 | UUID transactionID, bool fromGroup, byte[] binaryBucket) |
1079 | { | 1082 | { |
1080 | if (((Scene)(m_scene)).ExternalChecks.ExternalChecksCanInstantMessage(fromAgent, toAgent)) | 1083 | if (((Scene)(m_scene)).ExternalChecks.ExternalChecksCanInstantMessage(fromAgent, toAgent)) |
1081 | { | 1084 | { |
@@ -1087,7 +1090,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1087 | msg.MessageBlock.FromAgentName = Utils.StringToBytes(fromName); | 1090 | msg.MessageBlock.FromAgentName = Utils.StringToBytes(fromName); |
1088 | msg.MessageBlock.Dialog = dialog; | 1091 | msg.MessageBlock.Dialog = dialog; |
1089 | msg.MessageBlock.FromGroup = fromGroup; | 1092 | msg.MessageBlock.FromGroup = fromGroup; |
1090 | msg.MessageBlock.ID = fromAgent ^ toAgent; | 1093 | if (transactionID == UUID.Zero) |
1094 | msg.MessageBlock.ID = fromAgent ^ toAgent; | ||
1095 | else | ||
1096 | msg.MessageBlock.ID = transactionID; | ||
1091 | msg.MessageBlock.Offline = 0; | 1097 | msg.MessageBlock.Offline = 0; |
1092 | msg.MessageBlock.ParentEstateID = 0; | 1098 | msg.MessageBlock.ParentEstateID = 0; |
1093 | msg.MessageBlock.Position = new Vector3(); | 1099 | msg.MessageBlock.Position = new Vector3(); |
diff --git a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs index a673f7b..eb82ad7 100644 --- a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs +++ b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs | |||
@@ -162,7 +162,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
162 | { | 162 | { |
163 | user.ControllingClient.SendInstantMessage(fromAgentID, message, | 163 | user.ControllingClient.SendInstantMessage(fromAgentID, message, |
164 | toAgentID, fromAgentName, dialog, | 164 | toAgentID, fromAgentName, dialog, |
165 | timestamp, fromGroup, binaryBucket); | 165 | timestamp, UUID.Zero, fromGroup, binaryBucket); |
166 | // Message sent | 166 | // Message sent |
167 | return; | 167 | return; |
168 | } | 168 | } |
@@ -179,7 +179,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
179 | 179 | ||
180 | user.ControllingClient.SendInstantMessage(fromAgentID, message, | 180 | user.ControllingClient.SendInstantMessage(fromAgentID, message, |
181 | toAgentID, fromAgentName, dialog, | 181 | toAgentID, fromAgentName, dialog, |
182 | timestamp, fromGroup, binaryBucket); | 182 | timestamp, UUID.Zero, fromGroup, binaryBucket); |
183 | // Message sent | 183 | // Message sent |
184 | return; | 184 | return; |
185 | } | 185 | } |
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index d8b203f..b134591 100644 --- a/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs | |||
@@ -136,7 +136,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer | |||
136 | 136 | ||
137 | user.ControllingClient.SendInstantMessage( | 137 | user.ControllingClient.SendInstantMessage( |
138 | fromAgentID, message, toAgentID, fromAgentName, | 138 | fromAgentID, message, toAgentID, fromAgentName, |
139 | dialog, timestamp, false, binaryBucket); | 139 | dialog, timestamp, UUID.Zero, false, binaryBucket); |
140 | 140 | ||
141 | return; | 141 | return; |
142 | } | 142 | } |
@@ -168,7 +168,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer | |||
168 | { | 168 | { |
169 | user.ControllingClient.SendInstantMessage( | 169 | user.ControllingClient.SendInstantMessage( |
170 | fromAgentID, message, toAgentID, fromAgentName, | 170 | fromAgentID, message, toAgentID, fromAgentName, |
171 | dialog, timestamp, false, binaryBucket); | 171 | dialog, timestamp, UUID.Zero, false, binaryBucket); |
172 | 172 | ||
173 | if (m_pendingOffers.ContainsKey(imSessionID)) | 173 | if (m_pendingOffers.ContainsKey(imSessionID)) |
174 | { | 174 | { |
@@ -214,7 +214,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer | |||
214 | { | 214 | { |
215 | user.ControllingClient.SendInstantMessage( | 215 | user.ControllingClient.SendInstantMessage( |
216 | fromAgentID, message, toAgentID, fromAgentName, | 216 | fromAgentID, message, toAgentID, fromAgentName, |
217 | dialog, timestamp, false, binaryBucket); | 217 | dialog, timestamp, UUID.Zero, false, binaryBucket); |
218 | 218 | ||
219 | if (m_pendingOffers.ContainsKey(imSessionID)) | 219 | if (m_pendingOffers.ContainsKey(imSessionID)) |
220 | { | 220 | { |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 155a01b..cf8ba94 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -476,7 +476,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
476 | 476 | ||
477 | } | 477 | } |
478 | 478 | ||
479 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, bool fromGroup, byte[] binaryBucket) | 479 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, UUID transationID, bool fromGroup, byte[] binaryBucket) |
480 | { | 480 | { |
481 | 481 | ||
482 | } | 482 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 85d51e6..789d24b 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -388,7 +388,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
388 | 388 | ||
389 | } | 389 | } |
390 | 390 | ||
391 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, bool fromGroup, byte[] binaryBucket) | 391 | public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, UUID transactionID, bool fromGroup, byte[] binaryBucket) |
392 | { | 392 | { |
393 | 393 | ||
394 | } | 394 | } |