aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorMelanie2010-11-16 20:44:39 +0100
committerMelanie2010-11-16 20:44:39 +0100
commit4f15b8d4e6be1e1fe88ad32aa43595861d1005ad (patch)
tree5c6dd29543347ea43c2a46658a451b355fdbf528 /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
parentCan't detach an object from within the script thread because it will throw. (diff)
downloadopensim-SC-4f15b8d4e6be1e1fe88ad32aa43595861d1005ad.zip
opensim-SC-4f15b8d4e6be1e1fe88ad32aa43595861d1005ad.tar.gz
opensim-SC-4f15b8d4e6be1e1fe88ad32aa43595861d1005ad.tar.bz2
opensim-SC-4f15b8d4e6be1e1fe88ad32aa43595861d1005ad.tar.xz
Change the way attachments are persisted. Editing a worn attachment will now
save properly, as will the results of a resizer script working. Attachment positions are no longer saved on each move, but instead are saved once on logout. Attachment script states are saved as part of the attachment now when detaching.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 79f7162..ee08072 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -586,13 +586,15 @@ namespace OpenSim.Region.Framework.Scenes
586 XmlNodeList nodes = doc.GetElementsByTagName("SavedScriptState"); 586 XmlNodeList nodes = doc.GetElementsByTagName("SavedScriptState");
587 if (nodes.Count > 0) 587 if (nodes.Count > 0)
588 { 588 {
589 m_savedScriptState = new Dictionary<UUID, string>(); 589 if (m_savedScriptState == null)
590 m_savedScriptState = new Dictionary<UUID, string>();
590 foreach (XmlNode node in nodes) 591 foreach (XmlNode node in nodes)
591 { 592 {
592 if (node.Attributes["UUID"] != null) 593 if (node.Attributes["UUID"] != null)
593 { 594 {
594 UUID itemid = new UUID(node.Attributes["UUID"].Value); 595 UUID itemid = new UUID(node.Attributes["UUID"].Value);
595 m_savedScriptState.Add(itemid, node.InnerXml); 596 if (itemid != UUID.Zero)
597 m_savedScriptState[itemid] = node.InnerXml;
596 } 598 }
597 } 599 }
598 } 600 }