aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2009-06-23 20:27:35 +0000
committerMelanie Thielker2009-06-23 20:27:35 +0000
commit2a766b908236889c47abf38e9b354e35a90f87aa (patch)
tree4ab99d56620a598dc5b1cd4f85fd0f86e6e98a70 /OpenSim/Region
parentAllow the member list of groups with more than 70 members to be viewed (diff)
downloadopensim-SC-2a766b908236889c47abf38e9b354e35a90f87aa.zip
opensim-SC-2a766b908236889c47abf38e9b354e35a90f87aa.tar.gz
opensim-SC-2a766b908236889c47abf38e9b354e35a90f87aa.tar.bz2
opensim-SC-2a766b908236889c47abf38e9b354e35a90f87aa.tar.xz
Fix an error in group membership sending when the memebr count exceeds 60
Also reduce limit to 40 to allow for last logon dates and titles
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index a5c0e45..d11261c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -8660,6 +8660,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8660 8660
8661 while (true) 8661 while (true)
8662 { 8662 {
8663 int blockCount = members.Count;
8664 if (blockCount > 40)
8665 blockCount = 40;
8666
8663 GroupMembersReplyPacket groupMembersReply = (GroupMembersReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupMembersReply); 8667 GroupMembersReplyPacket groupMembersReply = (GroupMembersReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupMembersReply);
8664 8668
8665 groupMembersReply.AgentData = 8669 groupMembersReply.AgentData =
@@ -8668,7 +8672,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8668 new GroupMembersReplyPacket.GroupDataBlock(); 8672 new GroupMembersReplyPacket.GroupDataBlock();
8669 groupMembersReply.MemberData = 8673 groupMembersReply.MemberData =
8670 new GroupMembersReplyPacket.MemberDataBlock[ 8674 new GroupMembersReplyPacket.MemberDataBlock[
8671 members.Count]; 8675 blockCount];
8672 8676
8673 groupMembersReply.AgentData.AgentID = AgentId; 8677 groupMembersReply.AgentData.AgentID = AgentId;
8674 groupMembersReply.GroupData.GroupID = 8678 groupMembersReply.GroupData.GroupID =
@@ -8677,7 +8681,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8677 groupMembersRequestPacket.GroupData.RequestID; 8681 groupMembersRequestPacket.GroupData.RequestID;
8678 groupMembersReply.GroupData.MemberCount = members.Count; 8682 groupMembersReply.GroupData.MemberCount = members.Count;
8679 8683
8680 for (int i = 0 ; i < 60 && members.Count > 0 ; i++) 8684 for (int i = 0 ; i < blockCount ; i++)
8681 { 8685 {
8682 GroupMembersData m = members[0]; 8686 GroupMembersData m = members[0];
8683 members.RemoveAt(0); 8687 members.RemoveAt(0);