Fix a merge artefact that broke script state persistence in XAttachments

avinationmerge
Melanie 2010-09-19 22:53:05 +02:00
parent 3a760ad12b
commit 9cf8795ecf
2 changed files with 4 additions and 6 deletions

View File

@ -120,7 +120,7 @@ namespace OpenSim.Framework
private UUID _permsGranter; private UUID _permsGranter;
private int _permsMask; private int _permsMask;
private int _type = 0; private int _type = 0;
private UUID _oldID; private UUID _oldID = UUID.Zero;
private bool _ownerChanged = false; private bool _ownerChanged = false;
@ -227,9 +227,6 @@ namespace OpenSim.Framework
get { get {
return _oldID; return _oldID;
} }
set {
_oldID = value;
}
} }
public UUID LastOwnerID { public UUID LastOwnerID {
@ -348,7 +345,8 @@ namespace OpenSim.Framework
/// <param name="partID">The new part ID to which this item belongs</param> /// <param name="partID">The new part ID to which this item belongs</param>
public void ResetIDs(UUID partID) public void ResetIDs(UUID partID)
{ {
OldItemID = ItemID; if (_oldID == UUID.Zero)
_oldID = ItemID;
ItemID = UUID.Random(); ItemID = UUID.Random();
ParentPartID = partID; ParentPartID = partID;
ParentID = partID; ParentID = partID;

View File

@ -1029,7 +1029,7 @@ namespace OpenSim.Region.Framework.Scenes
SceneObjectPart[] parts = m_parts.GetArray(); SceneObjectPart[] parts = m_parts.GetArray();
for (int i = 0; i < parts.Length; i++) for (int i = 0; i < parts.Length; i++)
{ {
Dictionary<UUID, string> pstates = parts[i].Inventory.GetScriptStates(); Dictionary<UUID, string> pstates = parts[i].Inventory.GetScriptStates(oldIDs);
foreach (KeyValuePair<UUID, string> kvp in pstates) foreach (KeyValuePair<UUID, string> kvp in pstates)
states.Add(kvp.Key, kvp.Value); states.Add(kvp.Key, kvp.Value);
} }