diff options
author | Justin Clark-Casey (justincc) | 2013-03-14 22:31:07 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-03-14 22:31:07 +0000 |
commit | e7603f98b7353a2d1603094d206ad6f80b837371 (patch) | |
tree | a47eabc78bb4468ef2040a98bc866f2b37e48d48 /OpenSim/Region/ScriptEngine | |
parent | refactor: use LSL_Vector(Vector3) constructor in llGroundNormal() (diff) | |
download | opensim-SC_OLD-e7603f98b7353a2d1603094d206ad6f80b837371.zip opensim-SC_OLD-e7603f98b7353a2d1603094d206ad6f80b837371.tar.gz opensim-SC_OLD-e7603f98b7353a2d1603094d206ad6f80b837371.tar.bz2 opensim-SC_OLD-e7603f98b7353a2d1603094d206ad6f80b837371.tar.xz |
Fix minor race conditions in detecting current parcel for llAddToLandPassList(), llSetParcelMusicURL() and llGetParcelMusicURL() for moving prims
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6aae784..f95ecb4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -6571,7 +6571,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6571 | { | 6571 | { |
6572 | m_host.AddScriptLPS(1); | 6572 | m_host.AddScriptLPS(1); |
6573 | UUID key; | 6573 | UUID key; |
6574 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); | 6574 | Vector3 pos = m_host.AbsolutePosition; |
6575 | |||
6576 | ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); | ||
6575 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) | 6577 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) |
6576 | { | 6578 | { |
6577 | int expires = 0; | 6579 | int expires = 0; |
@@ -7800,7 +7802,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7800 | { | 7802 | { |
7801 | m_host.AddScriptLPS(1); | 7803 | m_host.AddScriptLPS(1); |
7802 | 7804 | ||
7803 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); | 7805 | Vector3 pos = m_host.AbsolutePosition; |
7806 | ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); | ||
7804 | 7807 | ||
7805 | if (land.LandData.OwnerID != m_host.OwnerID) | 7808 | if (land.LandData.OwnerID != m_host.OwnerID) |
7806 | return; | 7809 | return; |
@@ -7814,7 +7817,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7814 | { | 7817 | { |
7815 | m_host.AddScriptLPS(1); | 7818 | m_host.AddScriptLPS(1); |
7816 | 7819 | ||
7817 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); | 7820 | Vector3 pos = m_host.AbsolutePosition; |
7821 | ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); | ||
7818 | 7822 | ||
7819 | if (land.LandData.OwnerID != m_host.OwnerID) | 7823 | if (land.LandData.OwnerID != m_host.OwnerID) |
7820 | return String.Empty; | 7824 | return String.Empty; |