aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorMelanie Thielker2010-05-21 07:37:55 +0200
committerMelanie2010-05-21 05:13:31 +0100
commit792e149c7eb26678a309a2c21c66183906db10f0 (patch)
tree9c8ee0ea61e3c71809f0613e21516d2654d0aa04 /OpenSim/Region/ClientStack
parentCleaned up MySql migrations a bit more, got rid of all old-form migration fil... (diff)
downloadopensim-SC-792e149c7eb26678a309a2c21c66183906db10f0.zip
opensim-SC-792e149c7eb26678a309a2c21c66183906db10f0.tar.gz
opensim-SC-792e149c7eb26678a309a2c21c66183906db10f0.tar.bz2
opensim-SC-792e149c7eb26678a309a2c21c66183906db10f0.tar.xz
Ensure that the first update sent out for any given prim is a full update
Diffstat (limited to 'OpenSim/Region/ClientStack')
-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 {