diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 4aac9a0..f274cd3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -1616,6 +1616,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1616 | EstateSettings es = World.RegionInfo.EstateSettings; | 1616 | EstateSettings es = World.RegionInfo.EstateSettings; |
1617 | 1617 | ||
1618 | bool changed = false; | 1618 | bool changed = false; |
1619 | bool changedSeeAvs = false; | ||
1619 | 1620 | ||
1620 | // Process the rules, not sure what the impact would be of changing owner or group | 1621 | // Process the rules, not sure what the impact would be of changing owner or group |
1621 | for (int idx = 0; idx < rules.Length;) | 1622 | for (int idx = 0; idx < rules.Length;) |
@@ -1717,6 +1718,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1717 | if(newLand.SeeAVs != newavs) | 1718 | if(newLand.SeeAVs != newavs) |
1718 | { | 1719 | { |
1719 | changed = true; | 1720 | changed = true; |
1721 | changedSeeAvs = true; | ||
1720 | newLand.SeeAVs = newavs; | 1722 | newLand.SeeAVs = newavs; |
1721 | } | 1723 | } |
1722 | break; | 1724 | break; |
@@ -1741,7 +1743,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1741 | } | 1743 | } |
1742 | } | 1744 | } |
1743 | if(changed) | 1745 | if(changed) |
1746 | { | ||
1744 | World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); | 1747 | World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); |
1748 | |||
1749 | if(changedSeeAvs) | ||
1750 | { | ||
1751 | UUID parcelID= newLand.GlobalID; | ||
1752 | World.ForEachScenePresence(delegate (ScenePresence avatar) | ||
1753 | { | ||
1754 | if (avatar != null && !avatar.IsDeleted && avatar.currentParcelUUID == parcelID ) | ||
1755 | avatar.currentParcelUUID = parcelID; // force parcel flags review | ||
1756 | }); | ||
1757 | } | ||
1758 | } | ||
1759 | |||
1745 | } | 1760 | } |
1746 | 1761 | ||
1747 | public double osList2Double(LSL_Types.list src, int index) | 1762 | public double osList2Double(LSL_Types.list src, int index) |