diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 8034bc6..32a7935 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1255,9 +1255,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1255 | // Stop all client threads. | 1255 | // Stop all client threads. |
1256 | ForEachScenePresence(delegate(ScenePresence avatar) { avatar.ControllingClient.Close(); }); | 1256 | ForEachScenePresence(delegate(ScenePresence avatar) { avatar.ControllingClient.Close(); }); |
1257 | 1257 | ||
1258 | m_log.Debug("[SCENE]: Persisting changed objects"); | 1258 | m_log.Debug("[SCENE]: TriggerSceneShuttingDown"); |
1259 | EventManager.TriggerSceneShuttingDown(this); | 1259 | EventManager.TriggerSceneShuttingDown(this); |
1260 | 1260 | ||
1261 | m_log.Debug("[SCENE]: Persisting changed objects"); | ||
1262 | |||
1261 | EntityBase[] entities = GetEntities(); | 1263 | EntityBase[] entities = GetEntities(); |
1262 | foreach (EntityBase entity in entities) | 1264 | foreach (EntityBase entity in entities) |
1263 | { | 1265 | { |
@@ -1267,10 +1269,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1267 | } | 1269 | } |
1268 | } | 1270 | } |
1269 | 1271 | ||
1272 | m_log.Debug("[SCENE]: Graph close"); | ||
1270 | m_sceneGraph.Close(); | 1273 | m_sceneGraph.Close(); |
1271 | 1274 | ||
1272 | if (PhysicsScene != null) | 1275 | if (PhysicsScene != null) |
1273 | { | 1276 | { |
1277 | m_log.Debug("[SCENE]: Dispose Physics"); | ||
1274 | PhysicsScene phys = PhysicsScene; | 1278 | PhysicsScene phys = PhysicsScene; |
1275 | // remove the physics engine from both Scene and SceneGraph | 1279 | // remove the physics engine from both Scene and SceneGraph |
1276 | PhysicsScene = null; | 1280 | PhysicsScene = null; |
@@ -1282,6 +1286,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1282 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", Name); | 1286 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", Name); |
1283 | 1287 | ||
1284 | // call the base class Close method. | 1288 | // call the base class Close method. |
1289 | m_log.Debug("[SCENE]: Base close"); | ||
1285 | base.Close(); | 1290 | base.Close(); |
1286 | } | 1291 | } |
1287 | 1292 | ||
@@ -1317,6 +1322,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1317 | } | 1322 | } |
1318 | // m_lastUpdate = Util.EnvironmentTickCount(); | 1323 | // m_lastUpdate = Util.EnvironmentTickCount(); |
1319 | 1324 | ||
1325 | m_sceneGraph.PreparePhysicsSimulation(); | ||
1326 | |||
1327 | |||
1320 | m_heartbeatThread | 1328 | m_heartbeatThread |
1321 | = Watchdog.StartThread( | 1329 | = Watchdog.StartThread( |
1322 | Heartbeat, string.Format("Heartbeat ({0})", RegionInfo.RegionName), ThreadPriority.Normal, false, false); | 1330 | Heartbeat, string.Format("Heartbeat ({0})", RegionInfo.RegionName), ThreadPriority.Normal, false, false); |