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 titles0.6.6-post-fixes
parent
a2635e43da
commit
2a766b9082
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue