diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | 13 |
2 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index edb76e9..eb7ad33 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -386,6 +386,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
386 | UpdateParentIDs(); | 386 | UpdateParentIDs(); |
387 | } | 387 | } |
388 | 388 | ||
389 | /// <summary> | ||
390 | /// Hooks this object up to the backup event so that it is persisted to the database when the update thread executes. | ||
391 | /// </summary> | ||
389 | private void AttachToBackup() | 392 | private void AttachToBackup() |
390 | { | 393 | { |
391 | if (InSceneBackup) | 394 | if (InSceneBackup) |
@@ -550,7 +553,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
550 | #region Copying | 553 | #region Copying |
551 | 554 | ||
552 | /// <summary> | 555 | /// <summary> |
553 | /// | 556 | /// Duplicates this object, including operations such as physics set up and attaching to the backup event. |
554 | /// </summary> | 557 | /// </summary> |
555 | /// <returns></returns> | 558 | /// <returns></returns> |
556 | public SceneObjectGroup Copy(LLUUID cAgentID, LLUUID cGroupID) | 559 | public SceneObjectGroup Copy(LLUUID cAgentID, LLUUID cGroupID) |
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 | ||