diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs index f7e82a5..56894b7 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | |||
@@ -90,13 +90,22 @@ namespace OpenSim.Region.Environment.Scenes | |||
90 | 90 | ||
91 | /// <summary> | 91 | /// <summary> |
92 | /// Reset LLUUIDs for all the items in the prim's inventory. This involves either generating | 92 | /// Reset LLUUIDs for all the items in the prim's inventory. This involves either generating |
93 | /// new ones or setting existing UUIDs to the correct parent UUIDs | 93 | /// new ones or setting existing UUIDs to the correct parent UUIDs. |
94 | /// | ||
95 | /// If this method is called and there are inventory items, then we regard the inventory as having changed. | ||
94 | /// </summary> | 96 | /// </summary> |
95 | /// <param name="linkNum">Link number for the part</param> | 97 | /// <param name="linkNum">Link number for the part</param> |
96 | public void ResetInventoryIDs() | 98 | public void ResetInventoryIDs() |
97 | { | 99 | { |
98 | lock (TaskInventory) | 100 | lock (TaskInventory) |
99 | { | 101 | { |
102 | if (0 == TaskInventory.Count) | ||
103 | { | ||
104 | return; | ||
105 | } | ||
106 | |||
107 | HasInventoryChanged = true; | ||
108 | |||
100 | IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values); | 109 | IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values); |
101 | TaskInventory.Clear(); | 110 | TaskInventory.Clear(); |
102 | 111 | ||