diff options
More cleaning up when deleting regions from a instance. NOTE: IGridServices.DeregisterRegion() method needs implementing for grid mode.
Diffstat (limited to 'OpenSim/Region/Communications/Local/LocalBackEndServices.cs')
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalBackEndServices.cs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 1e76813..5d4e702 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -54,7 +54,7 @@ namespace OpenSim.Region.Communications.Local | |||
54 | public RegionCommsListener RegisterRegion(RegionInfo regionInfo) | 54 | public RegionCommsListener RegisterRegion(RegionInfo regionInfo) |
55 | { | 55 | { |
56 | //Console.WriteLine("CommsManager - Region " + regionInfo.RegionHandle + " , " + regionInfo.RegionLocX + " , "+ regionInfo.RegionLocY +" is registering"); | 56 | //Console.WriteLine("CommsManager - Region " + regionInfo.RegionHandle + " , " + regionInfo.RegionLocX + " , "+ regionInfo.RegionLocY +" is registering"); |
57 | if (!m_regions.ContainsKey((uint) regionInfo.RegionHandle)) | 57 | if (!m_regions.ContainsKey( regionInfo.RegionHandle)) |
58 | { | 58 | { |
59 | //Console.WriteLine("CommsManager - Adding Region " + regionInfo.RegionHandle ); | 59 | //Console.WriteLine("CommsManager - Adding Region " + regionInfo.RegionHandle ); |
60 | m_regions.Add(regionInfo.RegionHandle, regionInfo); | 60 | m_regions.Add(regionInfo.RegionHandle, regionInfo); |
@@ -69,6 +69,20 @@ namespace OpenSim.Region.Communications.Local | |||
69 | return null; | 69 | return null; |
70 | } | 70 | } |
71 | 71 | ||
72 | public bool DeregisterRegion(RegionInfo regionInfo) | ||
73 | { | ||
74 | if (m_regions.ContainsKey(regionInfo.RegionHandle)) | ||
75 | { | ||
76 | m_regions.Remove(regionInfo.RegionHandle); | ||
77 | if (m_regionListeners.ContainsKey(regionInfo.RegionHandle)) | ||
78 | { | ||
79 | m_regionListeners.Remove(regionInfo.RegionHandle); | ||
80 | } | ||
81 | return true; | ||
82 | } | ||
83 | return false; | ||
84 | } | ||
85 | |||
72 | /// <summary> | 86 | /// <summary> |
73 | /// </summary> | 87 | /// </summary> |
74 | /// <param name="regionInfo"></param> | 88 | /// <param name="regionInfo"></param> |
@@ -132,7 +146,6 @@ namespace OpenSim.Region.Communications.Local | |||
132 | map.Y = (ushort) regInfo.RegionLocY; | 146 | map.Y = (ushort) regInfo.RegionLocY; |
133 | map.WaterHeight = (byte) regInfo.EstateSettings.waterHeight; | 147 | map.WaterHeight = (byte) regInfo.EstateSettings.waterHeight; |
134 | map.MapImageId = regInfo.EstateSettings.terrainImageID; | 148 | map.MapImageId = regInfo.EstateSettings.terrainImageID; |
135 | //new LLUUID("00000000-0000-0000-9999-000000000007"); | ||
136 | map.Agents = 1; | 149 | map.Agents = 1; |
137 | map.RegionFlags = 72458694; | 150 | map.RegionFlags = 72458694; |
138 | map.Access = 13; | 151 | map.Access = 13; |