diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 |
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", |