aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs39
1 files changed, 8 insertions, 31 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index a6067ad..3a8f168 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -218,7 +218,7 @@ namespace OpenSim.Region.Framework.Scenes
218 foreach (IScriptModule e in engines) 218 foreach (IScriptModule e in engines)
219 { 219 {
220 if (e != null) 220 if (e != null)
221 { 221 {
222 ArrayList errors = e.GetScriptErrors(itemID); 222 ArrayList errors = e.GetScriptErrors(itemID);
223 foreach (Object line in errors) 223 foreach (Object line in errors)
224 ret.Add(line); 224 ret.Add(line);
@@ -356,26 +356,14 @@ namespace OpenSim.Region.Framework.Scenes
356 356
357 m_part.ParentGroup.m_savedScriptState[oldID] = newDoc.OuterXml; 357 m_part.ParentGroup.m_savedScriptState[oldID] = newDoc.OuterXml;
358 } 358 }
359
360 foreach (IScriptModule e in engines) 359 foreach (IScriptModule e in engines)
361 { 360 {
362 if (e != null) 361 if (e != null)
363 { 362 {
364 // Stop an exception in setting saved state from propogating since this is not fatal. 363 if (e.SetXMLState(newID, m_part.ParentGroup.m_savedScriptState[oldID]))
365 try 364 break;
366 {
367 if (e.SetXMLState(newID, m_part.ParentGroup.m_savedScriptState[oldID]))
368 break;
369 }
370 catch (Exception ex)
371 {
372 m_log.WarnFormat(
373 "[PRIM INVENTORY]: Could not set script state for old key {0}, new key {1} in prim {2} {3}. Exception {4}{5}",
374 oldID, newID, m_part.Name, m_part.UUID, ex.Message, ex.StackTrace);
375 }
376 } 365 }
377 } 366 }
378
379 m_part.ParentGroup.m_savedScriptState.Remove(oldID); 367 m_part.ParentGroup.m_savedScriptState.Remove(oldID);
380 } 368 }
381 } 369 }
@@ -1033,23 +1021,12 @@ namespace OpenSim.Region.Framework.Scenes
1033 { 1021 {
1034 if (e != null) 1022 if (e != null)
1035 { 1023 {
1036 // Stop any exception from the script engine from propogating since setting state 1024 string n = e.GetXMLState(item.ItemID);
1037 // isn't essential. 1025 if (n != String.Empty)
1038 try
1039 {
1040 string n = e.GetXMLState(item.ItemID);
1041 if (n != String.Empty)
1042 {
1043 if (!ret.ContainsKey(item.ItemID))
1044 ret[item.ItemID] = n;
1045 break;
1046 }
1047 }
1048 catch (Exception ex)
1049 { 1026 {
1050 m_log.WarnFormat( 1027 if (!ret.ContainsKey(item.ItemID))
1051 "[PRIM INVENTORY]: Could not retrieve script state for item {0} {1} in prim {2} {3}. Exception {4}{5}", 1028 ret[item.ItemID] = n;
1052 item.Name, item.ItemID, m_part.Name, m_part.UUID, ex.Message, ex.StackTrace); 1029 break;
1053 } 1030 }
1054 } 1031 }
1055 } 1032 }