diff options
author | Justin Clarke Casey | 2008-03-14 18:21:21 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-03-14 18:21:21 +0000 |
commit | 87067bff1e499d9281b032862b0435f6d7f127f1 (patch) | |
tree | fba5bf9fa7991ee5242295ab05c74bc61cdf95d9 /OpenSim/Region/Environment/Scenes/ScenePresence.cs | |
parent | Fix Mantis 636 (diff) | |
download | opensim-SC-87067bff1e499d9281b032862b0435f6d7f127f1.zip opensim-SC-87067bff1e499d9281b032862b0435f6d7f127f1.tar.gz opensim-SC-87067bff1e499d9281b032862b0435f6d7f127f1.tar.bz2 opensim-SC-87067bff1e499d9281b032862b0435f6d7f127f1.tar.xz |
* The rest of the fix necessary for mantis #766 - terse updates broken
* Even very rapid linking/delinking should now behave normally. Terse updates still occur as before
* Hopefully this ends the recent linking problems - please let us know if there are more
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 44d2316..a3d528d 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -472,20 +472,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
472 | { | 472 | { |
473 | ScenePartUpdate update = m_updateTimes[part.UUID]; | 473 | ScenePartUpdate update = m_updateTimes[part.UUID]; |
474 | 474 | ||
475 | // Two updates can occur with the same timestamp (especially | 475 | // We deal with the possibility that two updates occur at the same unix time |
476 | // since our timestamp resolution is to the nearest second). Therefore, we still need | 476 | // at the update point itself. |
477 | // to send an update even if the last full update time is identical to the part's | ||
478 | // update timestamp. | ||
479 | // | ||
480 | // If we don't do this, various events (such as linking and delinking in the same | ||
481 | // second), will stop working properly! | ||
482 | if (update.LastFullUpdateTime < part.TimeStampFull) | 477 | if (update.LastFullUpdateTime < part.TimeStampFull) |
483 | { | 478 | { |
484 | // m_log.DebugFormat( | 479 | // m_log.DebugFormat( |
485 | // "[SCENE PRESENCE]: Fully updating prim {0}, {1} - part timestamp {2}", | 480 | // "[SCENE PRESENCE]: Fully updating prim {0}, {1} - part timestamp {2}", |
486 | // part.Name, part.UUID, part.TimeStampFull); | 481 | // part.Name, part.UUID, part.TimeStampFull); |
487 | 482 | ||
488 | //need to do a full update | ||
489 | part.SendFullUpdate(ControllingClient, GenerateClientFlags(part.UUID)); | 483 | part.SendFullUpdate(ControllingClient, GenerateClientFlags(part.UUID)); |
490 | 484 | ||
491 | // We'll update to the part's timestamp rather than the current time to | 485 | // We'll update to the part's timestamp rather than the current time to |
@@ -1658,7 +1652,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1658 | gdb.GodLevel = (byte)0; | 1652 | gdb.GodLevel = (byte)0; |
1659 | m_godlevel = 0; | 1653 | m_godlevel = 0; |
1660 | } | 1654 | } |
1661 | 1655 | ||
1662 | gdb.Token = token; | 1656 | gdb.Token = token; |
1663 | //respondPacket.AgentData = (GrantGodlikePowersPacket.AgentDataBlock)ablock; | 1657 | //respondPacket.AgentData = (GrantGodlikePowersPacket.AgentDataBlock)ablock; |
1664 | respondPacket.GrantData = gdb; | 1658 | respondPacket.GrantData = gdb; |