aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 53ddb5d..fbaa7d4 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -140,6 +140,34 @@ namespace OpenSim.Region.Framework.Scenes
140 } 140 }
141 } 141 }
142 142
143 public void ResetObjectID()
144 {
145 m_items.LockItemsForWrite(true);
146
147 if (Items.Count == 0)
148 {
149 m_items.LockItemsForWrite(false);
150 return;
151 }
152
153 HasInventoryChanged = true;
154 if (m_part.ParentGroup != null)
155 {
156 m_part.ParentGroup.HasGroupChanged = true;
157 }
158
159 IList<TaskInventoryItem> items = new List<TaskInventoryItem>(Items.Values);
160 Items.Clear();
161
162 foreach (TaskInventoryItem item in items)
163 {
164 item.ParentPartID = m_part.UUID;
165 item.ParentID = m_part.UUID;
166 Items.Add(item.ItemID, item);
167 }
168 m_items.LockItemsForWrite(false);
169 }
170
143 /// <summary> 171 /// <summary>
144 /// Change every item in this inventory to a new owner. 172 /// Change every item in this inventory to a new owner.
145 /// </summary> 173 /// </summary>