Fix minor race conditions in OSSL_Api functions where a parcel could be misidentified for moving prims.
parent
5526177c32
commit
785abe070d
|
@ -348,7 +348,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
//OSSL only may be used if object is in the same group as the parcel
|
//OSSL only may be used if object is in the same group as the parcel
|
||||||
if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("PARCEL_GROUP_MEMBER"))
|
if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("PARCEL_GROUP_MEMBER"))
|
||||||
{
|
{
|
||||||
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
|
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition);
|
||||||
|
|
||||||
if (land.LandData.GroupID == m_item.GroupID && land.LandData.GroupID != UUID.Zero)
|
if (land.LandData.GroupID == m_item.GroupID && land.LandData.GroupID != UUID.Zero)
|
||||||
{
|
{
|
||||||
|
@ -359,7 +359,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
//Only Parcelowners may use the function
|
//Only Parcelowners may use the function
|
||||||
if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("PARCEL_OWNER"))
|
if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("PARCEL_OWNER"))
|
||||||
{
|
{
|
||||||
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
|
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition);
|
||||||
|
|
||||||
if (land.LandData.OwnerID == ownerID)
|
if (land.LandData.OwnerID == ownerID)
|
||||||
{
|
{
|
||||||
|
@ -1490,8 +1490,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
|
|
||||||
ILandObject land
|
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition);
|
||||||
= World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
|
|
||||||
|
|
||||||
if (land.LandData.OwnerID != m_host.OwnerID)
|
if (land.LandData.OwnerID != m_host.OwnerID)
|
||||||
return;
|
return;
|
||||||
|
@ -1507,8 +1506,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
|
|
||||||
ILandObject land
|
ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition);
|
||||||
= World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
|
|
||||||
|
|
||||||
if (land.LandData.OwnerID != m_host.OwnerID)
|
if (land.LandData.OwnerID != m_host.OwnerID)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue