Correct display of landmark about info. Also correct region maturity rating

in LM info. Maturity is NOT the parcel's setting, that is only for the
image and text. Parcel maturity is governed by region maturity.
This commit is contained in:
Melanie Thielker
2010-08-07 05:45:52 +02:00
parent fa11ac8c85
commit c554de7501
9 changed files with 36 additions and 13 deletions

View File

@@ -121,7 +121,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
#region ILandService
public LandData GetLandData(ulong regionHandle, uint x, uint y)
public LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
{
m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}",
regionHandle, m_Scenes.Count);
@@ -130,10 +130,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
if (s.RegionInfo.RegionHandle == regionHandle)
{
m_log.Debug("[LAND IN CONNECTOR]: Found region to GetLandData from");
regionAccess = s.RegionInfo.AccessLevel;
return s.GetLandData(x, y);
}
}
m_log.DebugFormat("[LAND IN CONNECTOR]: region handle {0} not found", regionHandle);
regionAccess = 42;
return null;
}

View File

@@ -116,8 +116,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
#region ILandService
public LandData GetLandData(ulong regionHandle, uint x, uint y)
public LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
{
regionAccess = 2;
m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}",
regionHandle, x, y);
@@ -126,6 +127,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
if (s.RegionInfo.RegionHandle == regionHandle)
{
LandData land = s.GetLandData(x, y);
regionAccess = s.RegionInfo.AccessLevel;
return land;
}
}

View File

@@ -108,13 +108,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
#region ILandService
public override LandData GetLandData(ulong regionHandle, uint x, uint y)
public override LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
{
LandData land = m_LocalService.GetLandData(regionHandle, x, y);
LandData land = m_LocalService.GetLandData(regionHandle, x, y, out regionAccess);
if (land != null)
return land;
return base.GetLandData(regionHandle, x, y);
return base.GetLandData(regionHandle, x, y, out regionAccess);
}
#endregion ILandService

View File

@@ -51,6 +51,7 @@ namespace OpenSim.Region.CoreModules.World.Land
public LandData LandData;
public ulong RegionHandle;
public uint X, Y;
public byte RegionAccess;
}
public class LandManagementModule : INonSharedRegionModule
@@ -1484,13 +1485,15 @@ namespace OpenSim.Region.CoreModules.World.Land
if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle)
{
extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData;
extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel;
}
else
{
ILandService landService = m_scene.RequestModuleInterface<ILandService>();
extLandData.LandData = landService.GetLandData(extLandData.RegionHandle,
extLandData.X,
extLandData.Y);
extLandData.Y,
out extLandData.RegionAccess);
if (extLandData.LandData == null)
{
// we didn't find the region/land => don't cache
@@ -1522,6 +1525,7 @@ namespace OpenSim.Region.CoreModules.World.Land
r.RegionName = info.RegionName;
r.RegionLocX = (uint)info.RegionLocX;
r.RegionLocY = (uint)info.RegionLocY;
r.RegionSettings.Maturity = (int)Util.ConvertAccessLevelToMaturity(data.RegionAccess);
remoteClient.SendParcelInfo(r, data.LandData, parcelID, data.X, data.Y);
}
else