diff options
*Parcels and their access lists now store over multiple sessions when the datastore is sqlite
Diffstat (limited to 'OpenSim/Region/Environment/LandManagement/LandManager.cs')
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 11845ae..7904f12 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs | |||
@@ -78,7 +78,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
78 | 78 | ||
79 | #region Events and Triggers | 79 | #region Events and Triggers |
80 | public delegate void LandObjectAdded(Land newParcel, LLUUID regionUUID); | 80 | public delegate void LandObjectAdded(Land newParcel, LLUUID regionUUID); |
81 | public delegate void LandObjectRemoved(uint localParcelID, LLUUID regionUUID); | 81 | public delegate void LandObjectRemoved(LLUUID globalID); |
82 | 82 | ||
83 | public event LandObjectAdded OnLandObjectAdded; | 83 | public event LandObjectAdded OnLandObjectAdded; |
84 | public event LandObjectRemoved OnLandObjectRemoved; | 84 | public event LandObjectRemoved OnLandObjectRemoved; |
@@ -90,16 +90,16 @@ namespace OpenSim.Region.Environment.LandManagement | |||
90 | OnLandObjectAdded(newParcel, m_scene.RegionInfo.RegionID); | 90 | OnLandObjectAdded(newParcel, m_scene.RegionInfo.RegionID); |
91 | } | 91 | } |
92 | } | 92 | } |
93 | public void triggerLandObjectRemoved(uint localParcelID) | 93 | public void triggerLandObjectRemoved(LLUUID globalID) |
94 | { | 94 | { |
95 | if (OnLandObjectRemoved != null) | 95 | if (OnLandObjectRemoved != null) |
96 | { | 96 | { |
97 | OnLandObjectRemoved(localParcelID, m_scene.RegionInfo.RegionID); | 97 | OnLandObjectRemoved(globalID); |
98 | } | 98 | } |
99 | } | 99 | } |
100 | public void triggerLandObjectUpdated(uint localParcelID, Land newParcel) | 100 | public void triggerLandObjectUpdated(uint localParcelID, Land newParcel) |
101 | { | 101 | { |
102 | triggerLandObjectRemoved(localParcelID); | 102 | //triggerLandObjectRemoved(localParcelID); |
103 | triggerLandObjectAdded(newParcel); | 103 | triggerLandObjectAdded(newParcel); |
104 | } | 104 | } |
105 | 105 | ||
@@ -217,8 +217,9 @@ namespace OpenSim.Region.Environment.LandManagement | |||
217 | } | 217 | } |
218 | } | 218 | } |
219 | } | 219 | } |
220 | |||
221 | triggerLandObjectRemoved(landList[local_id].landData.globalID); | ||
220 | landList.Remove(local_id); | 222 | landList.Remove(local_id); |
221 | triggerLandObjectRemoved((uint)local_id); | ||
222 | } | 223 | } |
223 | 224 | ||
224 | public void updateLandObject(int local_id, LandData newData) | 225 | public void updateLandObject(int local_id, LandData newData) |
@@ -250,6 +251,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
250 | } | 251 | } |
251 | 252 | ||
252 | removeLandObject(slave.landData.localID); | 253 | removeLandObject(slave.landData.localID); |
254 | updateLandObject(master.landData.localID, master.landData); | ||
253 | } | 255 | } |
254 | 256 | ||
255 | /// <summary> | 257 | /// <summary> |
@@ -351,6 +353,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
351 | 353 | ||
352 | //Now add the new land object | 354 | //Now add the new land object |
353 | Land result = addLandObject(newLand); | 355 | Land result = addLandObject(newLand); |
356 | updateLandObject(startLandObject.landData.localID,startLandObject.landData); | ||
354 | result.sendLandUpdateToAvatarsOverMe(); | 357 | result.sendLandUpdateToAvatarsOverMe(); |
355 | 358 | ||
356 | 359 | ||