aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs11
1 files changed, 11 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 07c3a6a..cf78266 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -325,6 +325,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
325 325
326 private int m_cachedTextureSerial; 326 private int m_cachedTextureSerial;
327 private PriorityQueue<double, EntityUpdate> m_entityUpdates; 327 private PriorityQueue<double, EntityUpdate> m_entityUpdates;
328 private Dictionary<uint, bool> m_seenPrims = new Dictionary<uint, bool>();
328 329
329 /// <value> 330 /// <value>
330 /// List used in construction of data blocks for an object update packet. This is to stop us having to 331 /// List used in construction of data blocks for an object update packet. This is to stop us having to
@@ -3495,7 +3496,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3495 3496
3496 // Compressed object updates only make sense for LL primitives 3497 // Compressed object updates only make sense for LL primitives
3497 if (!(update.Entity is SceneObjectPart)) 3498 if (!(update.Entity is SceneObjectPart))
3499 {
3498 canUseCompressed = false; 3500 canUseCompressed = false;
3501 }
3502 else
3503 {
3504 if (!m_seenPrims.ContainsKey(((SceneObjectPart)update.Entity).LocalId))
3505 {
3506 updateFlags = PrimUpdateFlags.FullUpdate;
3507 m_seenPrims[((SceneObjectPart)update.Entity).LocalId] = true;
3508 }
3509 }
3499 3510
3500 if (updateFlags.HasFlag(PrimUpdateFlags.FullUpdate)) 3511 if (updateFlags.HasFlag(PrimUpdateFlags.FullUpdate))
3501 { 3512 {