aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs31
1 files changed, 22 insertions, 9 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 6dd2ffd..0bb5dc6 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -421,9 +421,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
421 } 421 }
422 public UUID AgentId { get { return m_agentId; } } 422 public UUID AgentId { get { return m_agentId; } }
423 public ISceneAgent SceneAgent { get; set; } 423 public ISceneAgent SceneAgent { get; set; }
424 public UUID ActiveGroupId { get { return m_activeGroupID; } private set { m_activeGroupID = value; } } 424 public UUID ActiveGroupId { get { return m_activeGroupID; } set { m_activeGroupID = value; } }
425 public string ActiveGroupName { get { return m_activeGroupName; } private set { m_activeGroupName = value; } } 425 public string ActiveGroupName { get { return m_activeGroupName; } set { m_activeGroupName = value; } }
426 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } private set { m_activeGroupPowers = value; } } 426 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } set { m_activeGroupPowers = value; } }
427 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } 427 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); }
428 428
429 public int PingTimeMS 429 public int PingTimeMS
@@ -953,7 +953,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
953 /// Send an instant message to this client 953 /// Send an instant message to this client
954 /// </summary> 954 /// </summary>
955 // 955 //
956 // Don't remove transaction ID! Groups and item gives need to set it!
957 public void SendInstantMessage(GridInstantMessage im) 956 public void SendInstantMessage(GridInstantMessage im)
958 { 957 {
959 if (((Scene)(m_scene)).Permissions.CanInstantMessage(new UUID(im.fromAgentID), new UUID(im.toAgentID))) 958 if (((Scene)(m_scene)).Permissions.CanInstantMessage(new UUID(im.fromAgentID), new UUID(im.toAgentID)))
@@ -962,14 +961,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
962 = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); 961 = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage);
963 962
964 msg.AgentData.AgentID = new UUID(im.fromAgentID); 963 msg.AgentData.AgentID = new UUID(im.fromAgentID);
965 msg.AgentData.SessionID = UUID.Zero; 964 msg.AgentData.SessionID = new UUID(im.imSessionID);
966 msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName); 965 msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName);
967 msg.MessageBlock.Dialog = im.dialog; 966 msg.MessageBlock.Dialog = im.dialog;
968 msg.MessageBlock.FromGroup = im.fromGroup; 967 msg.MessageBlock.FromGroup = im.fromGroup;
969 if (im.imSessionID == UUID.Zero.Guid) 968 msg.MessageBlock.ID = new UUID(im.ID);
970 msg.MessageBlock.ID = new UUID(im.fromAgentID) ^ new UUID(im.toAgentID);
971 else
972 msg.MessageBlock.ID = new UUID(im.imSessionID);
973 msg.MessageBlock.Offline = im.offline; 969 msg.MessageBlock.Offline = im.offline;
974 msg.MessageBlock.ParentEstateID = im.ParentEstateID; 970 msg.MessageBlock.ParentEstateID = im.ParentEstateID;
975 msg.MessageBlock.Position = im.Position; 971 msg.MessageBlock.Position = im.Position;
@@ -5786,6 +5782,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5786 OutPacket(packet, ThrottleOutPacketType.Task); 5782 OutPacket(packet, ThrottleOutPacketType.Task);
5787 } 5783 }
5788 5784
5785 public Dictionary<UUID, ulong> GetGroupPowers()
5786 {
5787 lock(m_groupPowers)
5788 {
5789 return new Dictionary<UUID, ulong>(m_groupPowers);
5790 }
5791 }
5792
5793 public void SetGroupPowers(Dictionary<UUID, ulong> powers)
5794 {
5795 lock(m_groupPowers)
5796 {
5797 m_groupPowers.Clear();
5798 m_groupPowers = powers;
5799 }
5800 }
5801
5789 public ulong GetGroupPowers(UUID groupID) 5802 public ulong GetGroupPowers(UUID groupID)
5790 { 5803 {
5791 if (groupID == ActiveGroupId) 5804 if (groupID == ActiveGroupId)