aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorUbitUmarov2017-07-12 03:47:34 +0100
committerUbitUmarov2017-07-12 03:47:34 +0100
commita069ed09a82bfe07ef84a78202f502ed3b312134 (patch)
treecf801f2d6ea61706685c48018e17bf37e0238c2a /OpenSim/Region/ScriptEngine
parent osSetParcelDetails: allow parcel group to be cleared also (diff)
downloadopensim-SC_OLD-a069ed09a82bfe07ef84a78202f502ed3b312134.zip
opensim-SC_OLD-a069ed09a82bfe07ef84a78202f502ed3b312134.tar.gz
opensim-SC_OLD-a069ed09a82bfe07ef84a78202f502ed3b312134.tar.bz2
opensim-SC_OLD-a069ed09a82bfe07ef84a78202f502ed3b312134.tar.xz
osSetParcelDetails: make seeAVs send updates. This is a temporary patch, this function does need to call a framework land function that deos issue proper updates about all fields to all cleints. ( sounds will not stop/start also for now)
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs15
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)