Fix minor race conditions in detecting current parcel for llAddToLandPassList(), llSetParcelMusicURL() and llGetParcelMusicURL() for moving prims

0.7.4-extended
Justin Clark-Casey (justincc) 2013-03-14 22:31:07 +00:00
parent 1c12697232
commit 75c169ffe5
1 changed files with 7 additions and 3 deletions

View File

@ -6569,7 +6569,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{
m_host.AddScriptLPS(1);
UUID key;
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
Vector3 pos = m_host.AbsolutePosition;
ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y);
if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned))
{
int expires = 0;
@ -7727,7 +7729,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{
m_host.AddScriptLPS(1);
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
Vector3 pos = m_host.AbsolutePosition;
ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y);
if (land.LandData.OwnerID != m_host.OwnerID)
return;
@ -7741,7 +7744,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{
m_host.AddScriptLPS(1);
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
Vector3 pos = m_host.AbsolutePosition;
ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y);
if (land.LandData.OwnerID != m_host.OwnerID)
return String.Empty;