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
This commit is contained in:
Melanie Thielker
2009-06-23 20:27:35 +00:00
parent a2635e43da
commit 2a766b9082

View File

@@ -8660,6 +8660,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
while (true)
{
int blockCount = members.Count;
if (blockCount > 40)
blockCount = 40;
GroupMembersReplyPacket groupMembersReply = (GroupMembersReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupMembersReply);
groupMembersReply.AgentData =
@@ -8668,7 +8672,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
new GroupMembersReplyPacket.GroupDataBlock();
groupMembersReply.MemberData =
new GroupMembersReplyPacket.MemberDataBlock[
members.Count];
blockCount];
groupMembersReply.AgentData.AgentID = AgentId;
groupMembersReply.GroupData.GroupID =
@@ -8677,7 +8681,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
groupMembersRequestPacket.GroupData.RequestID;
groupMembersReply.GroupData.MemberCount = members.Count;
for (int i = 0 ; i < 60 && members.Count > 0 ; i++)
for (int i = 0 ; i < blockCount ; i++)
{
GroupMembersData m = members[0];
members.RemoveAt(0);