aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-04-01 17:06:33 +0000
committerJustin Clarke Casey2008-04-01 17:06:33 +0000
commit96ecb62197dbb5fef9f6c1855e032ac855b94e5f (patch)
tree2b808105de6cc117c4d9218e04fd6c412ea65eb7
parentfew more minor changes, needs prebuild to be ran. (diff)
downloadopensim-SC_OLD-96ecb62197dbb5fef9f6c1855e032ac855b94e5f.zip
opensim-SC_OLD-96ecb62197dbb5fef9f6c1855e032ac855b94e5f.tar.gz
opensim-SC_OLD-96ecb62197dbb5fef9f6c1855e032ac855b94e5f.tar.bz2
opensim-SC_OLD-96ecb62197dbb5fef9f6c1855e032ac855b94e5f.tar.xz
* Fix for mantis #678
* Shift copied prims should now keep the script in both prims over region startups
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs13
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