aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs34
1 files changed, 22 insertions, 12 deletions
diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs b/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs
index a9498dd..cfc362c 100644
--- a/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs
+++ b/OpenSim/Region/ScriptEngine/YEngine/XMREngine.cs
@@ -1092,17 +1092,27 @@ namespace OpenSim.Region.ScriptEngine.Yengine
1092 if(stateN == null) 1092 if(stateN == null)
1093 return false; 1093 return false;
1094 1094
1095 if(stateN.GetAttribute("Engine") != ScriptEngineName) 1095 bool isX = false;
1096 string sen = stateN.GetAttribute("Engine");
1097 if (sen == null)
1096 return false; 1098 return false;
1097 1099 if (sen != ScriptEngineName)
1098 // <ScriptState>...</ScriptState> contains contents of .state file. 1100 {
1099 XmlElement scriptStateN = (XmlElement)stateN.SelectSingleNode("ScriptState"); 1101 if(sen != "XEngine")
1102 return false;
1103 isX = true;
1104 }
1105 // <ScriptState>...</ScriptState> contains contents of .state file.
1106 XmlElement scriptStateN = (XmlElement)stateN.SelectSingleNode("ScriptState");
1100 if(scriptStateN == null) 1107 if(scriptStateN == null)
1101 return false; 1108 return false;
1102 1109
1103 string sen = stateN.GetAttribute("Engine"); 1110 if(!isX)
1104 if((sen == null) || (sen != ScriptEngineName)) 1111 {
1105 return false; 1112 sen = stateN.GetAttribute("Engine");
1113 if ((sen == null) || (sen != ScriptEngineName))
1114 return false;
1115 }
1106 1116
1107 XmlAttribute assetA = doc.CreateAttribute("", "Asset", ""); 1117 XmlAttribute assetA = doc.CreateAttribute("", "Asset", "");
1108 assetA.Value = stateN.GetAttribute("Asset"); 1118 assetA.Value = stateN.GetAttribute("Asset");
@@ -1110,11 +1120,11 @@ namespace OpenSim.Region.ScriptEngine.Yengine
1110 1120
1111 // Write out the .state file with the <ScriptState ...>...</ScriptState> XML text 1121 // Write out the .state file with the <ScriptState ...>...</ScriptState> XML text
1112 string statePath = XMRInstance.GetStateFileName(m_ScriptBasePath, itemID); 1122 string statePath = XMRInstance.GetStateFileName(m_ScriptBasePath, itemID);
1113 FileStream ss = File.Create(statePath); 1123 using (FileStream ss = File.Create(statePath))
1114 StreamWriter sw = new StreamWriter(ss); 1124 {
1115 sw.Write(scriptStateN.OuterXml); 1125 using (StreamWriter sw = new StreamWriter(ss))
1116 sw.Close(); 1126 sw.Write(scriptStateN.OuterXml);
1117 ss.Close(); 1127 }
1118 1128
1119 return true; 1129 return true;
1120 } 1130 }