aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs4
2 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index dcec7e9..937f43e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -136,6 +136,11 @@ namespace OpenSim.Region.Framework.Scenes
136 } 136 }
137 137
138 /// <summary> 138 /// <summary>
139 /// Is the sit target of this part occupied?
140 /// </summary>
141 public bool IsSitTargetOccupied { get { return SitTargetAvatar != UUID.Zero; } }
142
143 /// <summary>
139 /// Is an explicit sit target set for this part? 144 /// Is an explicit sit target set for this part?
140 /// </summary> 145 /// </summary>
141 public bool IsSitTargetSet 146 public bool IsSitTargetSet
@@ -736,7 +741,7 @@ namespace OpenSim.Region.Framework.Scenes
736 } 741 }
737 742
738 // TODO if we decide to do sitting in a more SL compatible way (multiple avatars per prim), this has to be fixed, too 743 // TODO if we decide to do sitting in a more SL compatible way (multiple avatars per prim), this has to be fixed, too
739 if (SitTargetAvatar != UUID.Zero) 744 if (IsSitTargetOccupied)
740 { 745 {
741 ScenePresence avatar; 746 ScenePresence avatar;
742 if (ParentGroup.Scene.TryGetScenePresence(SitTargetAvatar, out avatar)) 747 if (ParentGroup.Scene.TryGetScenePresence(SitTargetAvatar, out avatar))
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index a8c98ed..c824e56 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1846,7 +1846,7 @@ namespace OpenSim.Region.Framework.Scenes
1846 //look for prims with explicit sit targets that are available 1846 //look for prims with explicit sit targets that are available
1847 foreach (SceneObjectPart part in partArray) 1847 foreach (SceneObjectPart part in partArray)
1848 { 1848 {
1849 if (part.IsSitTargetSet && part.SitTargetAvatar == UUID.Zero) 1849 if (part.IsSitTargetSet && !part.IsSitTargetOccupied)
1850 { 1850 {
1851 //switch the target to this prim 1851 //switch the target to this prim
1852 return part; 1852 return part;
@@ -1878,7 +1878,7 @@ namespace OpenSim.Region.Framework.Scenes
1878 1878
1879 if (part.IsSitTargetSet) 1879 if (part.IsSitTargetSet)
1880 { 1880 {
1881 if (part.SitTargetAvatar == UUID.Zero) 1881 if (!part.IsSitTargetOccupied)
1882 { 1882 {
1883// m_log.DebugFormat( 1883// m_log.DebugFormat(
1884// "[SCENE PRESENCE]: Sitting {0} on {1} {2} because sit target is set and unoccupied", 1884// "[SCENE PRESENCE]: Sitting {0} on {1} {2} because sit target is set and unoccupied",