aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-16 14:53:19 +0300
committerOren Hurvitz2014-04-20 06:23:37 +0100
commit853c0fccc88e78500364abb25b822a0d9f1337b1 (patch)
treefef15a87407b404e740c6bb9e7e129f1df21df9f /OpenSim/Region/ClientStack/Linden/UDP
parentFixed: once a user has rezzed an object, they could then duplicate it as much... (diff)
downloadopensim-SC_OLD-853c0fccc88e78500364abb25b822a0d9f1337b1.zip
opensim-SC_OLD-853c0fccc88e78500364abb25b822a0d9f1337b1.tar.gz
opensim-SC_OLD-853c0fccc88e78500364abb25b822a0d9f1337b1.tar.bz2
opensim-SC_OLD-853c0fccc88e78500364abb25b822a0d9f1337b1.tar.xz
Fixed: when any avatar changed his Active Group, it was set as the active group for *all* the avatars in the scene (not permanently)
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs23
1 files changed, 13 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index f80f5a0..c905f20 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -397,9 +397,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
397 } 397 }
398 public UUID AgentId { get { return m_agentId; } } 398 public UUID AgentId { get { return m_agentId; } }
399 public ISceneAgent SceneAgent { get; set; } 399 public ISceneAgent SceneAgent { get; set; }
400 public UUID ActiveGroupId { get { return m_activeGroupID; } } 400 public UUID ActiveGroupId { get { return m_activeGroupID; } private set { m_activeGroupID = value; } }
401 public string ActiveGroupName { get { return m_activeGroupName; } } 401 public string ActiveGroupName { get { return m_activeGroupName; } private set { m_activeGroupName = value; } }
402 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } } 402 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } private set { m_activeGroupPowers = value; } }
403 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } 403 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); }
404 404
405 /// <summary> 405 /// <summary>
@@ -2271,9 +2271,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2271 2271
2272 public void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle) 2272 public void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
2273 { 2273 {
2274 m_activeGroupID = activegroupid; 2274 if (agentid == AgentId)
2275 m_activeGroupName = groupname; 2275 {
2276 m_activeGroupPowers = grouppowers; 2276 ActiveGroupId = activegroupid;
2277 ActiveGroupName = groupname;
2278 ActiveGroupPowers = grouppowers;
2279 }
2277 2280
2278 AgentDataUpdatePacket sendAgentDataUpdate = (AgentDataUpdatePacket)PacketPool.Instance.GetPacket(PacketType.AgentDataUpdate); 2281 AgentDataUpdatePacket sendAgentDataUpdate = (AgentDataUpdatePacket)PacketPool.Instance.GetPacket(PacketType.AgentDataUpdate);
2279 sendAgentDataUpdate.AgentData.ActiveGroupID = activegroupid; 2282 sendAgentDataUpdate.AgentData.ActiveGroupID = activegroupid;
@@ -5415,8 +5418,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5415 5418
5416 public ulong GetGroupPowers(UUID groupID) 5419 public ulong GetGroupPowers(UUID groupID)
5417 { 5420 {
5418 if (groupID == m_activeGroupID) 5421 if (groupID == ActiveGroupId)
5419 return m_activeGroupPowers; 5422 return ActiveGroupPowers;
5420 5423
5421 if (m_groupPowers.ContainsKey(groupID)) 5424 if (m_groupPowers.ContainsKey(groupID))
5422 return m_groupPowers[groupID]; 5425 return m_groupPowers[groupID];
@@ -7166,7 +7169,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7166 { 7169 {
7167 handlerObjectDuplicate(dupe.ObjectData[i].ObjectLocalID, dupe.SharedData.Offset, 7170 handlerObjectDuplicate(dupe.ObjectData[i].ObjectLocalID, dupe.SharedData.Offset,
7168 dupe.SharedData.DuplicateFlags, AgentId, 7171 dupe.SharedData.DuplicateFlags, AgentId,
7169 m_activeGroupID); 7172 ActiveGroupId);
7170 } 7173 }
7171 } 7174 }
7172 7175
@@ -7779,7 +7782,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7779 if (handlerObjectDuplicateOnRay != null) 7782 if (handlerObjectDuplicateOnRay != null)
7780 { 7783 {
7781 handlerObjectDuplicateOnRay(dupeOnRay.ObjectData[i].ObjectLocalID, dupeOnRay.AgentData.DuplicateFlags, 7784 handlerObjectDuplicateOnRay(dupeOnRay.ObjectData[i].ObjectLocalID, dupeOnRay.AgentData.DuplicateFlags,
7782 AgentId, m_activeGroupID, dupeOnRay.AgentData.RayTargetID, dupeOnRay.AgentData.RayEnd, 7785 AgentId, ActiveGroupId, dupeOnRay.AgentData.RayTargetID, dupeOnRay.AgentData.RayEnd,
7783 dupeOnRay.AgentData.RayStart, dupeOnRay.AgentData.BypassRaycast, dupeOnRay.AgentData.RayEndIsIntersection, 7786 dupeOnRay.AgentData.RayStart, dupeOnRay.AgentData.BypassRaycast, dupeOnRay.AgentData.RayEndIsIntersection,
7784 dupeOnRay.AgentData.CopyCenters, dupeOnRay.AgentData.CopyRotates); 7787 dupeOnRay.AgentData.CopyCenters, dupeOnRay.AgentData.CopyRotates);
7785 } 7788 }