aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/GridService
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-02-18 23:25:59 +0000
committerJustin Clark-Casey (justincc)2011-02-18 23:25:59 +0000
commit8249d77991352697b4972f7109c014db0ebd5f68 (patch)
tree1ca71e15f18db4a2bc7e1a2204ae002e961b8306 /OpenSim/Services/GridService
parentminor: remove mono compiler warning (diff)
downloadopensim-SC_OLD-8249d77991352697b4972f7109c014db0ebd5f68.zip
opensim-SC_OLD-8249d77991352697b4972f7109c014db0ebd5f68.tar.gz
opensim-SC_OLD-8249d77991352697b4972f7109c014db0ebd5f68.tar.bz2
opensim-SC_OLD-8249d77991352697b4972f7109c014db0ebd5f68.tar.xz
If GridService.GetNeighbours() could not find the region then log a warning rather than causing a null reference on the normal log line
This also extends the TestChildAgentEstablished() test to actually activate the EntityTransferModule, though the test is not yet viable
Diffstat (limited to 'OpenSim/Services/GridService')
-rw-r--r--OpenSim/Services/GridService/GridService.cs12
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs
index aeff9b5..985d77b 100644
--- a/OpenSim/Services/GridService/GridService.cs
+++ b/OpenSim/Services/GridService/GridService.cs
@@ -271,6 +271,7 @@ namespace OpenSim.Services.GridService
271 { 271 {
272 List<GridRegion> rinfos = new List<GridRegion>(); 272 List<GridRegion> rinfos = new List<GridRegion>();
273 RegionData region = m_Database.Get(regionID, scopeID); 273 RegionData region = m_Database.Get(regionID, scopeID);
274
274 if (region != null) 275 if (region != null)
275 { 276 {
276 // Not really? Maybe? 277 // Not really? Maybe?
@@ -278,15 +279,24 @@ namespace OpenSim.Services.GridService
278 region.posX + (int)Constants.RegionSize + 1, region.posY + (int)Constants.RegionSize + 1, scopeID); 279 region.posX + (int)Constants.RegionSize + 1, region.posY + (int)Constants.RegionSize + 1, scopeID);
279 280
280 foreach (RegionData rdata in rdatas) 281 foreach (RegionData rdata in rdatas)
282 {
281 if (rdata.RegionID != regionID) 283 if (rdata.RegionID != regionID)
282 { 284 {
283 int flags = Convert.ToInt32(rdata.Data["flags"]); 285 int flags = Convert.ToInt32(rdata.Data["flags"]);
284 if ((flags & (int)Data.RegionFlags.Hyperlink) == 0) // no hyperlinks as neighbours 286 if ((flags & (int)Data.RegionFlags.Hyperlink) == 0) // no hyperlinks as neighbours
285 rinfos.Add(RegionData2RegionInfo(rdata)); 287 rinfos.Add(RegionData2RegionInfo(rdata));
286 } 288 }
289 }
287 290
291 m_log.DebugFormat("[GRID SERVICE]: region {0} has {1} neighbours", region.RegionName, rinfos.Count);
288 } 292 }
289 m_log.DebugFormat("[GRID SERVICE]: region {0} has {1} neighbours", region.RegionName, rinfos.Count); 293 else
294 {
295 m_log.WarnFormat(
296 "[GRID SERVICE]: GetNeighbours() called for scope {0}, region {1} but no such region found",
297 scopeID, regionID);
298 }
299
290 return rinfos; 300 return rinfos;
291 } 301 }
292 302