diff options
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 0140733..848d574 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -606,21 +606,20 @@ namespace OpenSim.Framework | |||
606 | get { return m_updateTime; } | 606 | get { return m_updateTime; } |
607 | } | 607 | } |
608 | 608 | ||
609 | public virtual void Update(EntityUpdate update) | 609 | public virtual void Update(EntityUpdate oldupdate) |
610 | { | 610 | { |
611 | PrimUpdateFlags updateFlags = update.Flags; | 611 | // we are on the new one |
612 | if(updateFlags.HasFlag(PrimUpdateFlags.CancelKill)) | 612 | PrimUpdateFlags updateFlags = oldupdate.Flags; |
613 | if(m_flags.HasFlag(PrimUpdateFlags.CancelKill)) | ||
613 | m_flags = PrimUpdateFlags.FullUpdate; | 614 | m_flags = PrimUpdateFlags.FullUpdate; |
614 | else if(m_flags.HasFlag(PrimUpdateFlags.Kill)) | ||
615 | return; | ||
616 | else if(updateFlags.HasFlag(PrimUpdateFlags.Kill)) | 615 | else if(updateFlags.HasFlag(PrimUpdateFlags.Kill)) |
617 | m_flags = PrimUpdateFlags.Kill; | 616 | return; |
618 | else | 617 | else // kill case will just merge in |
619 | m_flags |= updateFlags; | 618 | m_flags |= updateFlags; |
620 | 619 | ||
621 | // Use the older of the updates as the updateTime | 620 | // Use the older of the updates as the updateTime |
622 | if (Util.EnvironmentTickCountCompare(UpdateTime, update.UpdateTime) > 0) | 621 | if (Util.EnvironmentTickCountCompare(UpdateTime, oldupdate.UpdateTime) > 0) |
623 | m_updateTime = update.UpdateTime; | 622 | m_updateTime = oldupdate.UpdateTime; |
624 | } | 623 | } |
625 | 624 | ||
626 | public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags) | 625 | public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags) |