aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authormingchen2007-12-18 17:42:02 +0000
committermingchen2007-12-18 17:42:02 +0000
commit128f2b1e1b876e5e10233b6f13a91be9314c3dc9 (patch)
treeb685a017da3f8ac7c23a20eea3b27df42735bd58 /OpenSim/Region/Environment
parent* Sakai appears to be having some sort of socket error that we've not account... (diff)
downloadopensim-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.cs2
-rw-r--r--OpenSim/Region/Environment/LandManagement/LandManager.cs13
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