aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMarck2010-12-12 20:06:23 +0100
committerMarck2010-12-12 20:12:34 +0100
commit7f0350b98858309d8c6e8b7689c2efdf12ca60b9 (patch)
tree64847caf1cdd0350d03394dfbf99b9958b861122
parentFixed wrong configuration variable names. (diff)
downloadopensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.zip
opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.tar.gz
opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.tar.bz2
opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.tar.xz
Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined. This fixes Mantis #4692.
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs8
2 files changed, 6 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index f87056e..4fcd8f5 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3251,13 +3251,6 @@ namespace OpenSim.Region.Framework.Scenes
3251 //} 3251 //}
3252 } 3252 }
3253 3253
3254 public void SetAvatarOnSitTarget(UUID avatarID)
3255 {
3256 m_sitTargetAvatar = avatarID;
3257 if (ParentGroup != null)
3258 ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
3259 }
3260
3261 public void SetAxisRotation(int axis, int rotate) 3254 public void SetAxisRotation(int axis, int rotate)
3262 { 3255 {
3263 if (m_parentGroup != null) 3256 if (m_parentGroup != null)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index f64d539..30c9365 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1703,7 +1703,9 @@ namespace OpenSim.Region.Framework.Scenes
1703 } 1703 }
1704 // Reset sit target. 1704 // Reset sit target.
1705 if (part.GetAvatarOnSitTarget() == UUID) 1705 if (part.GetAvatarOnSitTarget() == UUID)
1706 part.SetAvatarOnSitTarget(UUID.Zero); 1706 part.SitTargetAvatar = UUID.Zero;
1707 if (part.ParentGroup != null)
1708 part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
1707 1709
1708 m_parentPosition = part.GetWorldPosition(); 1710 m_parentPosition = part.GetWorldPosition();
1709 ControllingClient.SendClearFollowCamProperties(part.ParentUUID); 1711 ControllingClient.SendClearFollowCamProperties(part.ParentUUID);
@@ -1807,11 +1809,13 @@ namespace OpenSim.Region.Framework.Scenes
1807 1809
1808 if (SitTargetisSet && SitTargetUnOccupied) 1810 if (SitTargetisSet && SitTargetUnOccupied)
1809 { 1811 {
1810 part.SetAvatarOnSitTarget(UUID); 1812 part.SitTargetAvatar = UUID;
1811 offset = new Vector3(avSitOffSet.X, avSitOffSet.Y, avSitOffSet.Z); 1813 offset = new Vector3(avSitOffSet.X, avSitOffSet.Y, avSitOffSet.Z);
1812 sitOrientation = avSitOrientation; 1814 sitOrientation = avSitOrientation;
1813 autopilot = false; 1815 autopilot = false;
1814 } 1816 }
1817 if (part.ParentGroup != null)
1818 part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
1815 1819
1816 pos = part.AbsolutePosition + offset; 1820 pos = part.AbsolutePosition + offset;
1817 //if (Math.Abs(part.AbsolutePosition.Z - AbsolutePosition.Z) > 1) 1821 //if (Math.Abs(part.AbsolutePosition.Z - AbsolutePosition.Z) > 1)