aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
authorMelanie Thielker2010-05-21 07:37:55 +0200
committerMelanie Thielker2010-05-21 07:37:55 +0200
commitaf5eeab7cf86ec5b8a90aa435d7068ef954dc504 (patch)
tree7f601a54e54bed9397394baba552a78d88dc0e46 /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
parentMerge branch 'master' into careminster-presence-refactor (diff)
downloadopensim-SC_OLD-af5eeab7cf86ec5b8a90aa435d7068ef954dc504.zip
opensim-SC_OLD-af5eeab7cf86ec5b8a90aa435d7068ef954dc504.tar.gz
opensim-SC_OLD-af5eeab7cf86ec5b8a90aa435d7068ef954dc504.tar.bz2
opensim-SC_OLD-af5eeab7cf86ec5b8a90aa435d7068ef954dc504.tar.xz
Ensure that the first update sent out for any given prim is a full update
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-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 e29ae2a..cddc7b2 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 {