aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/World')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs4
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandChannel.cs6
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs19
3 files changed, 29 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index 3238a81..6a96d87 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -230,6 +230,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver
230 parcel.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; 230 parcel.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
231 landData.Add(parcel); 231 landData.Add(parcel);
232 } 232 }
233
234 if (!m_merge)
235 m_scene.LandChannel.Clear();
236
233 m_scene.EventManager.TriggerIncomingLandDataFromStorage(landData); 237 m_scene.EventManager.TriggerIncomingLandDataFromStorage(landData);
234 m_log.InfoFormat("[ARCHIVER]: Restored {0} parcels.", landData.Count); 238 m_log.InfoFormat("[ARCHIVER]: Restored {0} parcels.", landData.Count);
235 239
diff --git a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs
index 9e27ef0..2959eb4 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs
@@ -116,6 +116,12 @@ namespace OpenSim.Region.CoreModules.World.Land
116 116
117 return new List<ILandObject>(); 117 return new List<ILandObject>();
118 } 118 }
119
120 public void Clear()
121 {
122 if (m_landManagementModule != null)
123 m_landManagementModule.Clear();
124 }
119 125
120 public List<ILandObject> ParcelsNearPoint(Vector3 position) 126 public List<ILandObject> ParcelsNearPoint(Vector3 position)
121 { 127 {
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
index 4db28e2..bee223a 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
@@ -636,6 +636,25 @@ namespace OpenSim.Region.CoreModules.World.Land
636 m_landList.Remove(local_id); 636 m_landList.Remove(local_id);
637 } 637 }
638 } 638 }
639
640 /// <summary>
641 /// Clear the scene of all parcels
642 /// </summary>
643 public void Clear()
644 {
645 lock (m_landList)
646 {
647 foreach (ILandObject lo in m_landList.Values)
648 {
649 //m_scene.SimulationDataService.RemoveLandObject(lo.LandData.GlobalID);
650 m_scene.EventManager.TriggerLandObjectRemoved(lo.LandData.GlobalID);
651 }
652
653 m_landList.Clear();
654 }
655
656 ResetSimLandObjects();
657 }
639 658
640 private void performFinalLandJoin(ILandObject master, ILandObject slave) 659 private void performFinalLandJoin(ILandObject master, ILandObject slave)
641 { 660 {