Ensure that the first update sent out for any given prim is a full update
parent
a92780fe5f
commit
af5eeab7cf
|
@ -325,6 +325,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
private int m_cachedTextureSerial;
|
private int m_cachedTextureSerial;
|
||||||
private PriorityQueue<double, EntityUpdate> m_entityUpdates;
|
private PriorityQueue<double, EntityUpdate> m_entityUpdates;
|
||||||
|
private Dictionary<uint, bool> m_seenPrims = new Dictionary<uint, bool>();
|
||||||
|
|
||||||
/// <value>
|
/// <value>
|
||||||
/// List used in construction of data blocks for an object update packet. This is to stop us having to
|
/// 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
|
||||||
|
|
||||||
// Compressed object updates only make sense for LL primitives
|
// Compressed object updates only make sense for LL primitives
|
||||||
if (!(update.Entity is SceneObjectPart))
|
if (!(update.Entity is SceneObjectPart))
|
||||||
|
{
|
||||||
canUseCompressed = false;
|
canUseCompressed = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!m_seenPrims.ContainsKey(((SceneObjectPart)update.Entity).LocalId))
|
||||||
|
{
|
||||||
|
updateFlags = PrimUpdateFlags.FullUpdate;
|
||||||
|
m_seenPrims[((SceneObjectPart)update.Entity).LocalId] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (updateFlags.HasFlag(PrimUpdateFlags.FullUpdate))
|
if (updateFlags.HasFlag(PrimUpdateFlags.FullUpdate))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue