aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
diff options
context:
space:
mode:
authorCharles Krinke2008-10-06 00:51:36 +0000
committerCharles Krinke2008-10-06 00:51:36 +0000
commitdedc1baeb7f77afa292b851efd73aeae955ac725 (patch)
tree15cffdbf8b269dbca61e7a784884a87565df1a31 /OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
parentMantis#1207. Thank you, TGlion for a patch that addresses: (diff)
downloadopensim-SC_OLD-dedc1baeb7f77afa292b851efd73aeae955ac725.zip
opensim-SC_OLD-dedc1baeb7f77afa292b851efd73aeae955ac725.tar.gz
opensim-SC_OLD-dedc1baeb7f77afa292b851efd73aeae955ac725.tar.bz2
opensim-SC_OLD-dedc1baeb7f77afa292b851efd73aeae955ac725.tar.xz
Mantis#2336. Thank you kindly, Ralphos for a patch that:
Prevent EventAbortException inner exceptions of TargetInvocationException being re-thrown from OpenSim.Region.ScriptEngine.Shared.ScriptBase. Executor.ExecuteEvent
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
index 90598c1..43e3f3c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
@@ -191,14 +191,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
191 //Console.WriteLine("ScriptEngine: Executing function name: " + EventName); 191 //Console.WriteLine("ScriptEngine: Executing function name: " + EventName);
192#endif 192#endif
193 // Found 193 // Found
194 try 194 try
195 { 195 {
196 ev.Invoke(m_Script, args); 196 ev.Invoke(m_Script, args);
197 } 197 }
198 catch (TargetInvocationException tie) 198 catch (TargetInvocationException tie)
199 { 199 {
200 // Grab the inner exception and rethrow it 200 // Grab the inner exception and rethrow it, unless the inner
201 throw tie.InnerException; 201 // exception is an EventAbortException as this indicates event
202 // invokation termination due to a state change.
203 if ( !(tie.InnerException is EventAbortException) )
204 {
205 throw tie.InnerException;
206 }
202 } 207 }
203 catch (Exception e) 208 catch (Exception e)
204 { 209 {