diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs index 2306bce..f568dc5 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs | |||
@@ -196,13 +196,15 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
196 | SceneObjectPart part = | 196 | SceneObjectPart part = |
197 | lastScriptEngine.World.GetSceneObjectPart( | 197 | lastScriptEngine.World.GetSceneObjectPart( |
198 | lastLocalID); | 198 | lastLocalID); |
199 | |||
200 | if (part != null && part.ParentGroup != null) | 199 | if (part != null && part.ParentGroup != null) |
201 | lastScriptEngine.World.DeleteSceneObject( | 200 | lastScriptEngine.World.DeleteSceneObject( |
202 | part.ParentGroup); | 201 | part.ParentGroup); |
203 | } | 202 | } |
204 | catch (Exception) | 203 | catch (Exception e) |
205 | { | 204 | { |
205 | if (lastScriptEngine != null) | ||
206 | lastScriptEngine.Log.WarnFormat("[{0}]: Exception {1} thrown",ScriptEngineName,e.GetType().ToString()); | ||
207 | throw e; | ||
206 | } | 208 | } |
207 | } | 209 | } |
208 | } | 210 | } |
@@ -288,11 +290,21 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
288 | InExecution = false; | 290 | InExecution = false; |
289 | } | 291 | } |
290 | } | 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) | ||
299 | { | ||
300 | // Probably don't need to special case this one | ||
301 | throw tie; | ||
302 | } | ||
291 | catch (Exception e) | 303 | catch (Exception e) |
292 | { | 304 | { |
293 | InExecution = false; | 305 | InExecution = false; |
294 | string text = FormatException(e, QIS.LineMap); | 306 | string text = FormatException(e, QIS.LineMap); |
295 | 307 | ||
296 | // DISPLAY ERROR INWORLD | 308 | // DISPLAY ERROR INWORLD |
297 | 309 | ||
298 | // if (e.InnerException != null) | 310 | // if (e.InnerException != null) |