diff options
author | Melanie | 2012-02-23 14:08:35 +0100 |
---|---|---|
committer | Melanie | 2012-02-23 14:08:35 +0100 |
commit | dc835717d66678eddfd802717a068c6131e460fc (patch) | |
tree | 82a8ce6b5bccda6e959fcd541cf81a67f7ba8c17 | |
parent | Merge branch 'ubitwork' (diff) | |
download | opensim-SC-dc835717d66678eddfd802717a068c6131e460fc.zip opensim-SC-dc835717d66678eddfd802717a068c6131e460fc.tar.gz opensim-SC-dc835717d66678eddfd802717a068c6131e460fc.tar.bz2 opensim-SC-dc835717d66678eddfd802717a068c6131e460fc.tar.xz |
Properly sequence updates of avatars and attachments so that we don't
update attachments on child avatars or intermingle agent and attachment
updates, which would render the root prim of huds invisible
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 1ac3b76..2e86315 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3774,6 +3774,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3774 | // doesn't seem to be attached, skip | 3774 | // doesn't seem to be attached, skip |
3775 | if (!found) | 3775 | if (!found) |
3776 | continue; | 3776 | continue; |
3777 | |||
3778 | // On vehicle crossing, the attachments are received | ||
3779 | // while the avatar is still a child. Don't send | ||
3780 | // updates here because the LocalId has not yet | ||
3781 | // been updated and the viewer will derender the | ||
3782 | // attachments until the avatar becomes root. | ||
3783 | if (sp.IsChildAgent) | ||
3784 | continue; | ||
3777 | } | 3785 | } |
3778 | if (part.ParentGroup.IsAttachment && m_disableFacelights) | 3786 | if (part.ParentGroup.IsAttachment && m_disableFacelights) |
3779 | { | 3787 | { |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a3839c2..2c118d6 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -984,6 +984,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
984 | Util.FireAndForget(delegate(object x) { | 984 | Util.FireAndForget(delegate(object x) { |
985 | foreach (SceneObjectGroup sog in m_attachments) | 985 | foreach (SceneObjectGroup sog in m_attachments) |
986 | { | 986 | { |
987 | sog.ScheduleGroupForFullUpdate(); | ||
987 | sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); | 988 | sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); |
988 | sog.ResumeScripts(); | 989 | sog.ResumeScripts(); |
989 | } | 990 | } |
@@ -991,6 +992,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
991 | } | 992 | } |
992 | } | 993 | } |
993 | 994 | ||
995 | SendAvatarDataToAllAgents(); | ||
996 | |||
994 | // send the animations of the other presences to me | 997 | // send the animations of the other presences to me |
995 | m_scene.ForEachRootScenePresence(delegate(ScenePresence presence) | 998 | m_scene.ForEachRootScenePresence(delegate(ScenePresence presence) |
996 | { | 999 | { |