aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-03-14 22:31:07 +0000
committerJustin Clark-Casey (justincc)2013-03-14 22:31:07 +0000
commite7603f98b7353a2d1603094d206ad6f80b837371 (patch)
treea47eabc78bb4468ef2040a98bc866f2b37e48d48
parentrefactor: use LSL_Vector(Vector3) constructor in llGroundNormal() (diff)
downloadopensim-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
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs10
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;