diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 5327b82..2b7c702 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3972,7 +3972,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3972 | 3972 | ||
3973 | if(oldgodlevel != GodLevel) // force a visibility check | 3973 | if(oldgodlevel != GodLevel) // force a visibility check |
3974 | ParcelCrossCheck(m_currentParcelUUID, m_previusParcelUUID, | 3974 | ParcelCrossCheck(m_currentParcelUUID, m_previusParcelUUID, |
3975 | m_currentParcelHide , m_previusParcelHide, false, true); | 3975 | !m_currentParcelHide, m_previusParcelHide, m_currentParcelHide, true); |
3976 | } | 3976 | } |
3977 | 3977 | ||
3978 | #region Child Agent Updates | 3978 | #region Child Agent Updates |
@@ -5402,7 +5402,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
5402 | 5402 | ||
5403 | allpresences = m_scene.GetScenePresences(); | 5403 | allpresences = m_scene.GetScenePresences(); |
5404 | 5404 | ||
5405 | if (oldhide) | 5405 | if (GodLevel >= 200) |
5406 | { | ||
5407 | foreach (ScenePresence p in allpresences) | ||
5408 | { | ||
5409 | if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive) | ||
5410 | continue; | ||
5411 | |||
5412 | if (p.ParcelHideThisAvatar) | ||
5413 | { | ||
5414 | viewsToSendto.Add(p); // they see me | ||
5415 | } | ||
5416 | } | ||
5417 | } | ||
5418 | |||
5419 | else if (oldhide) | ||
5406 | { // where private | 5420 | { // where private |
5407 | foreach (ScenePresence p in allpresences) | 5421 | foreach (ScenePresence p in allpresences) |
5408 | { | 5422 | { |