diff options
author | Melanie | 2010-12-31 15:45:08 +0100 |
---|---|---|
committer | Melanie | 2011-01-03 19:40:55 +0000 |
commit | 9971766256e422aeb320827a51f041f3b732575b (patch) | |
tree | 8c67cf611ec4e6844610567d89cb16b18c90d04b /OpenSim/Services | |
parent | Fix up a prior fix (refix the fixed fix :) (diff) | |
download | opensim-SC-9971766256e422aeb320827a51f041f3b732575b.zip opensim-SC-9971766256e422aeb320827a51f041f3b732575b.tar.gz opensim-SC-9971766256e422aeb320827a51f041f3b732575b.tar.bz2 opensim-SC-9971766256e422aeb320827a51f041f3b732575b.tar.xz |
Implement Scope ID lookup on GetLandData. Stacked regions were not handled
properly
Diffstat (limited to '')
3 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Services/Connectors/Land/LandServiceConnector.cs b/OpenSim/Services/Connectors/Land/LandServiceConnector.cs index 4b25ac8..252f7a1 100644 --- a/OpenSim/Services/Connectors/Land/LandServiceConnector.cs +++ b/OpenSim/Services/Connectors/Land/LandServiceConnector.cs | |||
@@ -64,7 +64,7 @@ namespace OpenSim.Services.Connectors | |||
64 | m_GridService = gridServices; | 64 | m_GridService = gridServices; |
65 | } | 65 | } |
66 | 66 | ||
67 | public virtual LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess) | 67 | public virtual LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess) |
68 | { | 68 | { |
69 | LandData landData = null; | 69 | LandData landData = null; |
70 | Hashtable hash = new Hashtable(); | 70 | Hashtable hash = new Hashtable(); |
@@ -80,7 +80,7 @@ namespace OpenSim.Services.Connectors | |||
80 | { | 80 | { |
81 | uint xpos = 0, ypos = 0; | 81 | uint xpos = 0, ypos = 0; |
82 | Utils.LongToUInts(regionHandle, out xpos, out ypos); | 82 | Utils.LongToUInts(regionHandle, out xpos, out ypos); |
83 | GridRegion info = m_GridService.GetRegionByPosition(UUID.Zero, (int)xpos, (int)ypos); | 83 | GridRegion info = m_GridService.GetRegionByPosition(scopeID, (int)xpos, (int)ypos); |
84 | if (info != null) // just to be sure | 84 | if (info != null) // just to be sure |
85 | { | 85 | { |
86 | XmlRpcRequest request = new XmlRpcRequest("land_data", paramList); | 86 | XmlRpcRequest request = new XmlRpcRequest("land_data", paramList); |
diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs index 93da10e..9e444c4 100644 --- a/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs +++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs | |||
@@ -71,7 +71,7 @@ namespace OpenSim.Services.Connectors | |||
71 | { | 71 | { |
72 | uint x = 0, y = 0; | 72 | uint x = 0, y = 0; |
73 | Utils.LongToUInts(regionHandle, out x, out y); | 73 | Utils.LongToUInts(regionHandle, out x, out y); |
74 | GridRegion regInfo = m_GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y); | 74 | GridRegion regInfo = m_GridService.GetRegionByPosition(thisRegion.ScopeID, (int)x, (int)y); |
75 | if ((regInfo != null) && | 75 | if ((regInfo != null) && |
76 | // Don't remote-call this instance; that's a startup hickup | 76 | // Don't remote-call this instance; that's a startup hickup |
77 | !((regInfo.ExternalHostName == thisRegion.ExternalHostName) && (regInfo.HttpPort == thisRegion.HttpPort))) | 77 | !((regInfo.ExternalHostName == thisRegion.ExternalHostName) && (regInfo.HttpPort == thisRegion.HttpPort))) |
diff --git a/OpenSim/Services/Interfaces/ILandService.cs b/OpenSim/Services/Interfaces/ILandService.cs index 7a12aff..63d9a27 100644 --- a/OpenSim/Services/Interfaces/ILandService.cs +++ b/OpenSim/Services/Interfaces/ILandService.cs | |||
@@ -33,6 +33,6 @@ namespace OpenSim.Services.Interfaces | |||
33 | { | 33 | { |
34 | public interface ILandService | 34 | public interface ILandService |
35 | { | 35 | { |
36 | LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess); | 36 | LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess); |
37 | } | 37 | } |
38 | } | 38 | } |