diff options
Diffstat (limited to 'OpenSim/Region/PhysicsModules')
-rw-r--r-- | OpenSim/Region/PhysicsModules/Ode/OdeScene.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs b/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs index adc8d98..a85d11a 100644 --- a/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs +++ b/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs | |||
@@ -40,6 +40,7 @@ using System.Diagnostics; | |||
40 | using System.IO; | 40 | using System.IO; |
41 | using System.Linq; | 41 | using System.Linq; |
42 | using System.Reflection; | 42 | using System.Reflection; |
43 | using System.Runtime.ExceptionServices; | ||
43 | using System.Runtime.InteropServices; | 44 | using System.Runtime.InteropServices; |
44 | using System.Threading; | 45 | using System.Threading; |
45 | using log4net; | 46 | using log4net; |
@@ -4055,6 +4056,7 @@ namespace OpenSim.Region.PhysicsModule.ODE | |||
4055 | } | 4056 | } |
4056 | } | 4057 | } |
4057 | */ | 4058 | */ |
4059 | [HandleProcessCorruptedStateExceptions] | ||
4058 | public override void Dispose() | 4060 | public override void Dispose() |
4059 | { | 4061 | { |
4060 | _worldInitialized = false; | 4062 | _worldInitialized = false; |
@@ -4079,7 +4081,14 @@ namespace OpenSim.Region.PhysicsModule.ODE | |||
4079 | //{ | 4081 | //{ |
4080 | //RemoveAvatar(act); | 4082 | //RemoveAvatar(act); |
4081 | //} | 4083 | //} |
4082 | d.WorldDestroy(world); | 4084 | try |
4085 | { | ||
4086 | d.WorldDestroy(world); | ||
4087 | } | ||
4088 | catch (AccessViolationException e) | ||
4089 | { | ||
4090 | m_log.ErrorFormat("[ODE SCENE]: exception {0}", e.Message); | ||
4091 | } | ||
4083 | //d.CloseODE(); | 4092 | //d.CloseODE(); |
4084 | } | 4093 | } |
4085 | 4094 | ||