diff options
author | UbitUmarov | 2016-08-04 21:36:41 +0100 |
---|---|---|
committer | UbitUmarov | 2016-08-04 21:36:41 +0100 |
commit | e57d3edf6f483013461888c6acb65312101ab0eb (patch) | |
tree | 480149fd55b4a7ccf0ed01abeb4ea96920569f13 /OpenSim/Region/ClientStack | |
parent | add GetActiveMembershipData() to groups modules, let core groups also have Ge... (diff) | |
download | opensim-SC-e57d3edf6f483013461888c6acb65312101ab0eb.zip opensim-SC-e57d3edf6f483013461888c6acb65312101ab0eb.tar.gz opensim-SC-e57d3edf6f483013461888c6acb65312101ab0eb.tar.bz2 opensim-SC-e57d3edf6f483013461888c6acb65312101ab0eb.tar.xz |
make sure all new scenepresences have fresh groups information at creation time (grouptitle missing but not that needed at that point) (use direct calls exactly where we want things to happen), reusing a funtion name to rename later
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 26fc85e..25ecc96 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -13148,11 +13148,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
13148 | { | 13148 | { |
13149 | lock(m_groupPowers) | 13149 | lock(m_groupPowers) |
13150 | { | 13150 | { |
13151 | GroupMembershipData activeMembership = null; | ||
13151 | if (m_GroupsModule != null) | 13152 | if (m_GroupsModule != null) |
13152 | { | 13153 | { |
13153 | GroupMembershipData[] GroupMembership = | 13154 | GroupMembershipData[] GroupMembership = |
13154 | m_GroupsModule.GetMembershipData(AgentId); | 13155 | m_GroupsModule.GetMembershipData(AgentId); |
13155 | 13156 | ||
13156 | m_groupPowers.Clear(); | 13157 | m_groupPowers.Clear(); |
13157 | 13158 | ||
13158 | if (GroupMembership != null) | 13159 | if (GroupMembership != null) |
@@ -13162,6 +13163,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
13162 | m_groupPowers[GroupMembership[i].GroupID] = GroupMembership[i].GroupPowers; | 13163 | m_groupPowers[GroupMembership[i].GroupID] = GroupMembership[i].GroupPowers; |
13163 | } | 13164 | } |
13164 | } | 13165 | } |
13166 | |||
13167 | activeMembership = m_GroupsModule.GetActiveMembershipData(AgentId); | ||
13168 | if(activeMembership != null) | ||
13169 | { | ||
13170 | if(!m_groupPowers.ContainsKey(activeMembership.GroupID)) | ||
13171 | activeMembership = null; | ||
13172 | else | ||
13173 | { | ||
13174 | m_activeGroupID = activeMembership.GroupID; | ||
13175 | m_activeGroupName = activeMembership.GroupName; | ||
13176 | m_activeGroupPowers = ActiveGroupPowers; | ||
13177 | } | ||
13178 | } | ||
13179 | } | ||
13180 | |||
13181 | if(activeMembership == null) | ||
13182 | { | ||
13183 | m_activeGroupID = UUID.Zero; | ||
13184 | m_activeGroupName = ""; | ||
13185 | m_activeGroupPowers = 0; | ||
13165 | } | 13186 | } |
13166 | } | 13187 | } |
13167 | } | 13188 | } |