diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 8535587..167485e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1891,10 +1891,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1891 | if (IsAttachment) | 1891 | if (IsAttachment) |
1892 | { | 1892 | { |
1893 | ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); | 1893 | ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); |
1894 | |||
1894 | if (avatar != null) | 1895 | if (avatar != null) |
1895 | { | ||
1896 | avatar.MoveToTarget(target, false, false); | 1896 | avatar.MoveToTarget(target, false, false); |
1897 | } | ||
1898 | } | 1897 | } |
1899 | else | 1898 | else |
1900 | { | 1899 | { |
@@ -1911,10 +1910,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
1911 | 1910 | ||
1912 | public void stopMoveToTarget() | 1911 | public void stopMoveToTarget() |
1913 | { | 1912 | { |
1914 | PhysicsActor pa = RootPart.PhysActor; | 1913 | if (IsAttachment) |
1914 | { | ||
1915 | ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); | ||
1915 | 1916 | ||
1916 | if (pa != null) | 1917 | if (avatar != null) |
1917 | pa.PIDActive = false; | 1918 | avatar.ResetMoveToTarget(); |
1919 | } | ||
1920 | else | ||
1921 | { | ||
1922 | PhysicsActor pa = RootPart.PhysActor; | ||
1923 | |||
1924 | if (pa != null) | ||
1925 | { | ||
1926 | pa.PIDActive = false; | ||
1927 | |||
1928 | ScheduleGroupForTerseUpdate(); | ||
1929 | //ParentGroup.ScheduleGroupForFullUpdate(); | ||
1930 | } | ||
1931 | } | ||
1918 | } | 1932 | } |
1919 | 1933 | ||
1920 | /// <summary> | 1934 | /// <summary> |