diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index c1f4126..e74aee7 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -2373,8 +2373,19 @@ namespace OpenSim.Region.ClientStack | |||
2373 | { | 2373 | { |
2374 | foreach (PacketAckPacket.PacketsBlock block in ackPacket.Packets) | 2374 | foreach (PacketAckPacket.PacketsBlock block in ackPacket.Packets) |
2375 | { | 2375 | { |
2376 | m_unAckedBytes -= m_needAck[block.ID].ToBytes().Length; | 2376 | if (m_needAck.ContainsKey(block.ID)) |
2377 | m_needAck.Remove(block.ID); | 2377 | { |
2378 | try | ||
2379 | { | ||
2380 | m_unAckedBytes -= m_needAck[block.ID].ToBytes().Length; | ||
2381 | m_needAck.Remove(block.ID); | ||
2382 | } | ||
2383 | catch (System.Collections.Generic.KeyNotFoundException) | ||
2384 | { | ||
2385 | // Did another packet come in with the ack already? | ||
2386 | // apparently so! | ||
2387 | } | ||
2388 | } | ||
2378 | } | 2389 | } |
2379 | } | 2390 | } |
2380 | } | 2391 | } |