aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorMelanie2012-02-23 20:32:35 +0100
committerMelanie2012-02-23 20:32:35 +0100
commitf3ea2bde617fa6c55b89973cdea2fb8e217d83bd (patch)
treec9e37ddbf6780d4e9a4d79ccf9c2394da1fc09c6 /OpenSim/Region/Framework
parentProperly sequence updates of avatars and attachments so that we don't (diff)
downloadopensim-SC_OLD-f3ea2bde617fa6c55b89973cdea2fb8e217d83bd.zip
opensim-SC_OLD-f3ea2bde617fa6c55b89973cdea2fb8e217d83bd.tar.gz
opensim-SC_OLD-f3ea2bde617fa6c55b89973cdea2fb8e217d83bd.tar.bz2
opensim-SC_OLD-f3ea2bde617fa6c55b89973cdea2fb8e217d83bd.tar.xz
Fix preserving the animation state of a crossing seated avatar
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 2c118d6..06da741 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -874,6 +874,8 @@ namespace OpenSim.Region.Framework.Scenes
874 "[SCENE]: Upgrading child to root agent for {0} in {1}", 874 "[SCENE]: Upgrading child to root agent for {0} in {1}",
875 Name, m_scene.RegionInfo.RegionName); 875 Name, m_scene.RegionInfo.RegionName);
876 876
877 bool wasChild = IsChildAgent;
878
877 if (ParentUUID != UUID.Zero) 879 if (ParentUUID != UUID.Zero)
878 { 880 {
879 m_log.DebugFormat("[SCENE PRESENCE]: Sitting avatar back on prim {0}", ParentUUID); 881 m_log.DebugFormat("[SCENE PRESENCE]: Sitting avatar back on prim {0}", ParentUUID);
@@ -893,10 +895,16 @@ namespace OpenSim.Region.Framework.Scenes
893 pos = ParentPosition; 895 pos = ParentPosition;
894 } 896 }
895 ParentUUID = UUID.Zero; 897 ParentUUID = UUID.Zero;
898
899 IsChildAgent = false;
900
901 Animator.TrySetMovementAnimation("SIT");
902 }
903 else
904 {
905 IsChildAgent = false;
896 } 906 }
897 907
898 bool wasChild = IsChildAgent;
899 IsChildAgent = false;
900 908
901 IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>(); 909 IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>();
902 if (gm != null) 910 if (gm != null)