diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/XEngine.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 082c99b..25a4cd6 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -1368,10 +1368,10 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1368 | return false; | 1368 | return false; |
1369 | } | 1369 | } |
1370 | 1370 | ||
1371 | public void SetXMLState(UUID itemID, string xml) | 1371 | public bool SetXMLState(UUID itemID, string xml) |
1372 | { | 1372 | { |
1373 | if (xml == String.Empty) | 1373 | if (xml == String.Empty) |
1374 | return; | 1374 | return false; |
1375 | 1375 | ||
1376 | XmlDocument doc = new XmlDocument(); | 1376 | XmlDocument doc = new XmlDocument(); |
1377 | 1377 | ||
@@ -1382,17 +1382,17 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1382 | catch (Exception) | 1382 | catch (Exception) |
1383 | { | 1383 | { |
1384 | m_log.Error("[XEngine]: Exception decoding XML data from region transfer"); | 1384 | m_log.Error("[XEngine]: Exception decoding XML data from region transfer"); |
1385 | return; | 1385 | return false; |
1386 | } | 1386 | } |
1387 | 1387 | ||
1388 | XmlNodeList rootL = doc.GetElementsByTagName("State"); | 1388 | XmlNodeList rootL = doc.GetElementsByTagName("State"); |
1389 | if (rootL.Count < 1) | 1389 | if (rootL.Count < 1) |
1390 | return; | 1390 | return false; |
1391 | 1391 | ||
1392 | XmlElement rootE = (XmlElement)rootL[0]; | 1392 | XmlElement rootE = (XmlElement)rootL[0]; |
1393 | 1393 | ||
1394 | if (rootE.GetAttribute("Engine") != ScriptEngineName) | 1394 | if (rootE.GetAttribute("Engine") != ScriptEngineName) |
1395 | return; | 1395 | return false; |
1396 | 1396 | ||
1397 | // On rez from inventory, that ID will have changed. It was only | 1397 | // On rez from inventory, that ID will have changed. It was only |
1398 | // advisory anyway. So we don't check it anymore. | 1398 | // advisory anyway. So we don't check it anymore. |
@@ -1403,7 +1403,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1403 | XmlNodeList stateL = rootE.GetElementsByTagName("ScriptState"); | 1403 | XmlNodeList stateL = rootE.GetElementsByTagName("ScriptState"); |
1404 | 1404 | ||
1405 | if (stateL.Count != 1) | 1405 | if (stateL.Count != 1) |
1406 | return; | 1406 | return false; |
1407 | 1407 | ||
1408 | XmlElement stateE = (XmlElement)stateL[0]; | 1408 | XmlElement stateE = (XmlElement)stateL[0]; |
1409 | 1409 | ||
@@ -1412,7 +1412,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1412 | XmlNodeList assemL = rootE.GetElementsByTagName("Assembly"); | 1412 | XmlNodeList assemL = rootE.GetElementsByTagName("Assembly"); |
1413 | 1413 | ||
1414 | if (assemL.Count != 1) | 1414 | if (assemL.Count != 1) |
1415 | return; | 1415 | return false; |
1416 | 1416 | ||
1417 | XmlElement assemE = (XmlElement)assemL[0]; | 1417 | XmlElement assemE = (XmlElement)assemL[0]; |
1418 | 1418 | ||
@@ -1452,19 +1452,23 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1452 | sfs.Close(); | 1452 | sfs.Close(); |
1453 | 1453 | ||
1454 | XmlNodeList mapL = rootE.GetElementsByTagName("LineMap"); | 1454 | XmlNodeList mapL = rootE.GetElementsByTagName("LineMap"); |
1455 | 1455 | if (mapL.Count > 0) | |
1456 | XmlElement mapE = (XmlElement)mapL[0]; | 1456 | { |
1457 | XmlElement mapE = (XmlElement)mapL[0]; | ||
1457 | 1458 | ||
1458 | string mappath = Path.Combine("ScriptEngines", World.RegionInfo.RegionID.ToString()); | 1459 | string mappath = Path.Combine("ScriptEngines", World.RegionInfo.RegionID.ToString()); |
1459 | mappath = Path.Combine(mappath, mapE.GetAttribute("Filename")); | 1460 | mappath = Path.Combine(mappath, mapE.GetAttribute("Filename")); |
1460 | 1461 | ||
1461 | FileStream mfs = File.Create(mappath); | 1462 | FileStream mfs = File.Create(mappath); |
1462 | StreamWriter msw = new StreamWriter(mfs); | 1463 | StreamWriter msw = new StreamWriter(mfs); |
1463 | 1464 | ||
1464 | msw.Write(mapE.InnerText); | 1465 | msw.Write(mapE.InnerText); |
1465 | 1466 | ||
1466 | msw.Close(); | 1467 | msw.Close(); |
1467 | mfs.Close(); | 1468 | mfs.Close(); |
1469 | } | ||
1470 | |||
1471 | return true; | ||
1468 | } | 1472 | } |
1469 | } | 1473 | } |
1470 | } | 1474 | } |