diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 39 |
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 | } |