aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs19
1 files changed, 16 insertions, 3 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
index 36adfad..79d7477 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
@@ -1277,10 +1277,23 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1277 // to the core Groups Stub 1277 // to the core Groups Stub
1278 remoteClient.SendGroupMembership(new GroupMembershipData[0]); 1278 remoteClient.SendGroupMembership(new GroupMembershipData[0]);
1279 1279
1280 GroupMembershipData[] membershipData = m_groupData.GetAgentGroupMemberships(GetClientGroupRequestID(remoteClient), dataForAgentID).ToArray(); 1280 List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(GetClientGroupRequestID(remoteClient), dataForAgentID);
1281 GroupMembershipData[] membershipArray;
1281 1282
1282 SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipData); 1283 if (remoteClient.AgentId != dataForAgentID)
1283 remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipData); 1284 {
1285 Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership)
1286 {
1287 return membership.ListInProfile;
1288 };
1289
1290 membershipArray = membershipData.FindAll(showInProfile).ToArray();
1291 } else {
1292 membershipArray = membershipData.ToArray();
1293 }
1294
1295 SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipArray);
1296 remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipArray);
1284 1297
1285 } 1298 }
1286 1299