aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-08-24 20:49:23 +0100
committerJustin Clark-Casey (justincc)2011-08-24 20:49:23 +0100
commitcf3ffe5bb4c6a8bea9599b6143c2f7793500c984 (patch)
tree80ff937e194c85ec7f599bb6e254c239c69f0b56 /OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
parentrename AttachmentsModule.ShowDetachInUserInventory() to DetachSingleAttachmen... (diff)
downloadopensim-SC_OLD-cf3ffe5bb4c6a8bea9599b6143c2f7793500c984.zip
opensim-SC_OLD-cf3ffe5bb4c6a8bea9599b6143c2f7793500c984.tar.gz
opensim-SC_OLD-cf3ffe5bb4c6a8bea9599b6143c2f7793500c984.tar.bz2
opensim-SC_OLD-cf3ffe5bb4c6a8bea9599b6143c2f7793500c984.tar.xz
Fix llAttachToAvatar()
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay. So we now don't do this. The state will be serialized anyway when the avatar normally logs out. The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/XEngine.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs9
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index d253c6a..c443669 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -1294,9 +1294,15 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1294 1294
1295 public string GetXMLState(UUID itemID) 1295 public string GetXMLState(UUID itemID)
1296 { 1296 {
1297// m_log.DebugFormat("[XEngine]: Getting XML state for {0}", itemID);
1298
1297 IScriptInstance instance = GetInstance(itemID); 1299 IScriptInstance instance = GetInstance(itemID);
1298 if (instance == null) 1300 if (instance == null)
1301 {
1302// m_log.DebugFormat("[XEngine]: Found no script for {0}, returning empty string", itemID);
1299 return ""; 1303 return "";
1304 }
1305
1300 string xml = instance.GetXMLState(); 1306 string xml = instance.GetXMLState();
1301 1307
1302 XmlDocument sdoc = new XmlDocument(); 1308 XmlDocument sdoc = new XmlDocument();
@@ -1437,6 +1443,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1437 mapData.InnerText = map; 1443 mapData.InnerText = map;
1438 1444
1439 stateData.AppendChild(mapData); 1445 stateData.AppendChild(mapData);
1446
1447// m_log.DebugFormat("[XEngine]: Got XML state for {0}", itemID);
1448
1440 return doc.InnerXml; 1449 return doc.InnerXml;
1441 } 1450 }
1442 1451