diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs index 1acb1b5..0f74b30 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs | |||
@@ -290,20 +290,15 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
290 | InExecution = false; | 290 | InExecution = false; |
291 | } | 291 | } |
292 | } | 292 | } |
293 | catch (SelfDeleteException sde) | ||
294 | { | ||
295 | // Make sure this exception isn't consumed here... we need it | ||
296 | throw sde; | ||
297 | } | ||
298 | catch (TargetInvocationException tie) | 293 | catch (TargetInvocationException tie) |
299 | { | 294 | { |
300 | // Probably don't need to special case this one | 295 | Exception e = tie.InnerException; |
301 | throw tie; | 296 | |
302 | } | 297 | if (e is SelfDeleteException) // Forward it |
303 | catch (Exception e) | 298 | throw e; |
304 | { | 299 | |
305 | InExecution = false; | 300 | InExecution = false; |
306 | string text = FormatException(e, QIS.LineMap); | 301 | string text = FormatException(tie, QIS.LineMap); |
307 | 302 | ||
308 | // DISPLAY ERROR INWORLD | 303 | // DISPLAY ERROR INWORLD |
309 | 304 | ||
@@ -357,6 +352,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
357 | } | 352 | } |
358 | } | 353 | } |
359 | } | 354 | } |
355 | catch (Exception e) | ||
356 | { | ||
357 | throw; | ||
358 | } | ||
360 | finally | 359 | finally |
361 | { | 360 | { |
362 | InExecution = false; | 361 | InExecution = false; |