diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index abd3387..7e8259f 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -196,10 +196,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
196 | /// If true, changes to the object will be reflected in its persisted data | 196 | /// If true, changes to the object will be reflected in its persisted data |
197 | /// If false, the persisted data will not be changed even if the object in the scene is changed | 197 | /// If false, the persisted data will not be changed even if the object in the scene is changed |
198 | /// </param> | 198 | /// </param> |
199 | /// <param name="alreadyPersisted"> | ||
200 | /// If true, we won't persist this object until it changes | ||
201 | /// If false, we'll persist this object immediately | ||
202 | /// </param> | ||
199 | /// <returns> | 203 | /// <returns> |
200 | /// true if the object was added, false if an object with the same uuid was already in the scene | 204 | /// true if the object was added, false if an object with the same uuid was already in the scene |
201 | /// </returns> | 205 | /// </returns> |
202 | protected internal bool AddRestoredSceneObject(SceneObjectGroup sceneObject, bool attachToBackup) | 206 | protected internal bool AddRestoredSceneObject( |
207 | SceneObjectGroup sceneObject, bool attachToBackup, bool alreadyPersisted) | ||
203 | { | 208 | { |
204 | sceneObject.RegionHandle = m_regInfo.RegionHandle; | 209 | sceneObject.RegionHandle = m_regInfo.RegionHandle; |
205 | sceneObject.SetScene(m_parentScene); | 210 | sceneObject.SetScene(m_parentScene); |
@@ -211,6 +216,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
211 | 216 | ||
212 | sceneObject.UpdateParentIDs(); | 217 | sceneObject.UpdateParentIDs(); |
213 | 218 | ||
219 | if (!alreadyPersisted) | ||
220 | { | ||
221 | sceneObject.ForceInventoryPersistence(); | ||
222 | sceneObject.HasGroupChanged = true; | ||
223 | } | ||
224 | |||
214 | return AddSceneObject(sceneObject, attachToBackup); | 225 | return AddSceneObject(sceneObject, attachToBackup); |
215 | } | 226 | } |
216 | 227 | ||