diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs | 11 |
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 | { |