diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 07e303f..309f543 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | |||
@@ -1122,14 +1122,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
1122 | /// <param name="datastore"></param> | 1122 | /// <param name="datastore"></param> |
1123 | public void ProcessInventoryBackup(ISimulationDataService datastore) | 1123 | public void ProcessInventoryBackup(ISimulationDataService datastore) |
1124 | { | 1124 | { |
1125 | if (HasInventoryChanged) | 1125 | // Removed this because linking will cause an immediate delete of the new |
1126 | { | 1126 | // child prim from the database and the subsequent storing of the prim sees |
1127 | // the inventory of it as unchanged and doesn't store it at all. The overhead | ||
1128 | // of storing prim inventory needlessly is much less than the aggravation | ||
1129 | // of prim inventory loss. | ||
1130 | // if (HasInventoryChanged) | ||
1131 | // { | ||
1127 | Items.LockItemsForRead(true); | 1132 | Items.LockItemsForRead(true); |
1128 | datastore.StorePrimInventory(m_part.UUID, Items.Values); | 1133 | datastore.StorePrimInventory(m_part.UUID, Items.Values); |
1129 | Items.LockItemsForRead(false); | 1134 | Items.LockItemsForRead(false); |
1130 | 1135 | ||
1131 | HasInventoryChanged = false; | 1136 | HasInventoryChanged = false; |
1132 | } | 1137 | // } |
1133 | } | 1138 | } |
1134 | 1139 | ||
1135 | public class InventoryStringBuilder | 1140 | public class InventoryStringBuilder |