aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
diff options
context:
space:
mode:
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 {