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.cs21
1 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index eebb8ae..7c62f90 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -2233,9 +2233,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2233 2233
2234 public void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle) 2234 public void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
2235 { 2235 {
2236 m_activeGroupID = activegroupid; 2236 if (agentid == AgentId)
2237 m_activeGroupName = groupname; 2237 {
2238 m_activeGroupPowers = grouppowers; 2238 m_activeGroupID = activegroupid;
2239 m_activeGroupName = groupname;
2240 m_activeGroupPowers = grouppowers;
2241 }
2239 2242
2240 AgentDataUpdatePacket sendAgentDataUpdate = (AgentDataUpdatePacket)PacketPool.Instance.GetPacket(PacketType.AgentDataUpdate); 2243 AgentDataUpdatePacket sendAgentDataUpdate = (AgentDataUpdatePacket)PacketPool.Instance.GetPacket(PacketType.AgentDataUpdate);
2241 sendAgentDataUpdate.AgentData.ActiveGroupID = activegroupid; 2244 sendAgentDataUpdate.AgentData.ActiveGroupID = activegroupid;
@@ -3933,6 +3936,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3933 part.Shape.ProfileHollow = 27500; 3936 part.Shape.ProfileHollow = 27500;
3934 } 3937 }
3935 } 3938 }
3939 else if (update.Entity is ScenePresence)
3940 {
3941 ScenePresence presence = (ScenePresence)update.Entity;
3942
3943 // If ParentUUID is not UUID.Zero and ParentID is 0, this
3944 // avatar is in the process of crossing regions while
3945 // sat on an object. In this state, we don't want any
3946 // updates because they will visually orbit the avatar.
3947 // Update will be forced once crossing is completed anyway.
3948 if (presence.ParentUUID != UUID.Zero && presence.ParentID == 0)
3949 continue;
3950 }
3936 3951
3937 ++updatesThisCall; 3952 ++updatesThisCall;
3938 3953