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)

0.9.0-post-fixes
UbitUmarov 2017-07-12 03:47:34 +01:00
parent 3847f861e3
commit a069ed09a8
1 changed files with 15 additions and 0 deletions

View File

@ -1616,6 +1616,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
EstateSettings es = World.RegionInfo.EstateSettings; EstateSettings es = World.RegionInfo.EstateSettings;
bool changed = false; bool changed = false;
bool changedSeeAvs = false;
// Process the rules, not sure what the impact would be of changing owner or group // Process the rules, not sure what the impact would be of changing owner or group
for (int idx = 0; idx < rules.Length;) for (int idx = 0; idx < rules.Length;)
@ -1717,6 +1718,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if(newLand.SeeAVs != newavs) if(newLand.SeeAVs != newavs)
{ {
changed = true; changed = true;
changedSeeAvs = true;
newLand.SeeAVs = newavs; newLand.SeeAVs = newavs;
} }
break; break;
@ -1741,7 +1743,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
if(changed) if(changed)
{
World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); World.LandChannel.UpdateLandObject(newLand.LocalID,newLand);
if(changedSeeAvs)
{
UUID parcelID= newLand.GlobalID;
World.ForEachScenePresence(delegate (ScenePresence avatar)
{
if (avatar != null && !avatar.IsDeleted && avatar.currentParcelUUID == parcelID )
avatar.currentParcelUUID = parcelID; // force parcel flags review
});
}
}
} }
public double osList2Double(LSL_Types.list src, int index) public double osList2Double(LSL_Types.list src, int index)