diff options
author | mingchen | 2007-12-18 17:42:02 +0000 |
---|---|---|
committer | mingchen | 2007-12-18 17:42:02 +0000 |
commit | 128f2b1e1b876e5e10233b6f13a91be9314c3dc9 (patch) | |
tree | b685a017da3f8ac7c23a20eea3b27df42735bd58 /OpenSim/Region/Environment | |
parent | * Sakai appears to be having some sort of socket error that we've not account... (diff) | |
download | opensim-SC-128f2b1e1b876e5e10233b6f13a91be9314c3dc9.zip opensim-SC-128f2b1e1b876e5e10233b6f13a91be9314c3dc9.tar.gz opensim-SC-128f2b1e1b876e5e10233b6f13a91be9314c3dc9.tar.bz2 opensim-SC-128f2b1e1b876e5e10233b6f13a91be9314c3dc9.tar.xz |
*Parcels and their access lists now store over multiple sessions when the datastore is sqlite
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs index 919cfdc..7c63027 100644 --- a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs +++ b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs | |||
@@ -51,7 +51,7 @@ namespace OpenSim.Region.Environment.Interfaces | |||
51 | double[,] LoadTerrain(LLUUID regionID); | 51 | double[,] LoadTerrain(LLUUID regionID); |
52 | 52 | ||
53 | void StoreLandObject(Land Parcel,LLUUID regionUUID); | 53 | void StoreLandObject(Land Parcel,LLUUID regionUUID); |
54 | void RemoveLandObject(uint ID, LLUUID regionUUID); | 54 | void RemoveLandObject(LLUUID globalID); |
55 | List<Framework.LandData> LoadLandObjects(LLUUID regionUUID); | 55 | List<Framework.LandData> LoadLandObjects(LLUUID regionUUID); |
56 | 56 | ||
57 | void Shutdown(); | 57 | void Shutdown(); |
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 | ||