aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2012-02-23 14:08:35 +0100
committerMelanie2012-02-23 14:08:35 +0100
commitdc835717d66678eddfd802717a068c6131e460fc (patch)
tree82a8ce6b5bccda6e959fcd541cf81a67f7ba8c17
parentMerge branch 'ubitwork' (diff)
downloadopensim-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.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs3
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 {