diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 8 |
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); |