diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 6154da4..11dca8d 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3476,13 +3476,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3476 | Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>> compressedUpdateBlocks = new Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>>(); | 3476 | Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>> compressedUpdateBlocks = new Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>>(); |
3477 | Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>> terseUpdateBlocks = new Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>>(); | 3477 | Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>> terseUpdateBlocks = new Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>>(); |
3478 | 3478 | ||
3479 | if (maxUpdates <= 0) maxUpdates = Int32.MaxValue; | ||
3479 | int updatesThisCall = 0; | 3480 | int updatesThisCall = 0; |
3480 | 3481 | ||
3481 | lock (m_entityUpdates.SyncRoot) | 3482 | lock (m_entityUpdates.SyncRoot) |
3482 | { | 3483 | { |
3483 | EntityUpdate update; | 3484 | EntityUpdate update; |
3484 | while (m_entityUpdates.TryDequeue(out update)) | 3485 | while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update)) |
3485 | { | 3486 | { |
3487 | ++updatesThisCall; | ||
3488 | |||
3486 | #region UpdateFlags to packet type conversion | 3489 | #region UpdateFlags to packet type conversion |
3487 | 3490 | ||
3488 | PrimUpdateFlags updateFlags = update.Flags; | 3491 | PrimUpdateFlags updateFlags = update.Flags; |
@@ -3552,10 +3555,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3552 | } | 3555 | } |
3553 | 3556 | ||
3554 | #endregion Block Construction | 3557 | #endregion Block Construction |
3555 | |||
3556 | ++updatesThisCall; | ||
3557 | if (maxUpdates > 0 && updatesThisCall >= maxUpdates) | ||
3558 | break; | ||
3559 | } | 3558 | } |
3560 | } | 3559 | } |
3561 | 3560 | ||