* Fix for mantis #678

* Shift copied prims should now keep the script in both prims over region startups
0.6.0-stable
Justin Clarke Casey 2008-04-01 17:06:33 +00:00
parent cdf27ece5f
commit 96ecb62197
2 changed files with 15 additions and 3 deletions

View File

@ -386,6 +386,9 @@ namespace OpenSim.Region.Environment.Scenes
UpdateParentIDs(); UpdateParentIDs();
} }
/// <summary>
/// Hooks this object up to the backup event so that it is persisted to the database when the update thread executes.
/// </summary>
private void AttachToBackup() private void AttachToBackup()
{ {
if (InSceneBackup) if (InSceneBackup)
@ -550,7 +553,7 @@ namespace OpenSim.Region.Environment.Scenes
#region Copying #region Copying
/// <summary> /// <summary>
/// /// Duplicates this object, including operations such as physics set up and attaching to the backup event.
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public SceneObjectGroup Copy(LLUUID cAgentID, LLUUID cGroupID) public SceneObjectGroup Copy(LLUUID cAgentID, LLUUID cGroupID)

View File

@ -90,13 +90,22 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary> /// <summary>
/// Reset LLUUIDs for all the items in the prim's inventory. This involves either generating /// Reset LLUUIDs for all the items in the prim's inventory. This involves either generating
/// new ones or setting existing UUIDs to the correct parent UUIDs /// new ones or setting existing UUIDs to the correct parent UUIDs.
///
/// If this method is called and there are inventory items, then we regard the inventory as having changed.
/// </summary> /// </summary>
/// <param name="linkNum">Link number for the part</param> /// <param name="linkNum">Link number for the part</param>
public void ResetInventoryIDs() public void ResetInventoryIDs()
{ {
lock (TaskInventory) lock (TaskInventory)
{ {
if (0 == TaskInventory.Count)
{
return;
}
HasInventoryChanged = true;
IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values); IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values);
TaskInventory.Clear(); TaskInventory.Clear();