diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 0bb5dc6..26fc85e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -961,11 +961,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
961 | = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); | 961 | = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); |
962 | 962 | ||
963 | msg.AgentData.AgentID = new UUID(im.fromAgentID); | 963 | msg.AgentData.AgentID = new UUID(im.fromAgentID); |
964 | msg.AgentData.SessionID = new UUID(im.imSessionID); | 964 | msg.AgentData.SessionID = UUID.Zero; |
965 | msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName); | 965 | msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName); |
966 | msg.MessageBlock.Dialog = im.dialog; | 966 | msg.MessageBlock.Dialog = im.dialog; |
967 | msg.MessageBlock.FromGroup = im.fromGroup; | 967 | msg.MessageBlock.FromGroup = im.fromGroup; |
968 | msg.MessageBlock.ID = new UUID(im.ID); | 968 | // this is odd |
969 | if (im.imSessionID == UUID.Zero.Guid) | ||
970 | msg.MessageBlock.ID = new UUID(im.fromAgentID) ^ new UUID(im.toAgentID); | ||
971 | else | ||
972 | msg.MessageBlock.ID = new UUID(im.imSessionID); | ||
969 | msg.MessageBlock.Offline = im.offline; | 973 | msg.MessageBlock.Offline = im.offline; |
970 | msg.MessageBlock.ParentEstateID = im.ParentEstateID; | 974 | msg.MessageBlock.ParentEstateID = im.ParentEstateID; |
971 | msg.MessageBlock.Position = im.Position; | 975 | msg.MessageBlock.Position = im.Position; |