aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-12-05 13:01:21 -0500
committerTeravus Ovares (Dan Olivares)2009-12-05 13:01:21 -0500
commitc4b6010fb34268c9426f7241a38ba892b93780d1 (patch)
tree52a5db76018dd820451121d66f8257cf154e1315 /OpenSim/Region
parentAllow terrain heightmaps to be loaded directly from URIs via the remote admin... (diff)
downloadopensim-SC-c4b6010fb34268c9426f7241a38ba892b93780d1.zip
opensim-SC-c4b6010fb34268c9426f7241a38ba892b93780d1.tar.gz
opensim-SC-c4b6010fb34268c9426f7241a38ba892b93780d1.tar.bz2
opensim-SC-c4b6010fb34268c9426f7241a38ba892b93780d1.tar.xz
* Fixes mantis 4416. Animator is dereferenced on logout
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs5
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs5
2 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index b2cd249..a3ceecb 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2932,14 +2932,15 @@ namespace OpenSim.Region.Framework.Scenes
2932 //if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f)) 2932 //if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
2933 // The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents( 2933 // The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents(
2934 // as of this comment the interval is set in AddToPhysicalScene 2934 // as of this comment the interval is set in AddToPhysicalScene
2935 Animator.UpdateMovementAnimations(); 2935 if (Animator!=null)
2936 Animator.UpdateMovementAnimations();
2936 2937
2937 CollisionEventUpdate collisionData = (CollisionEventUpdate)e; 2938 CollisionEventUpdate collisionData = (CollisionEventUpdate)e;
2938 Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList; 2939 Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList;
2939 2940
2940 CollisionPlane = Vector4.UnitW; 2941 CollisionPlane = Vector4.UnitW;
2941 2942
2942 if (coldata.Count != 0) 2943 if (coldata.Count != 0 && Animator != null)
2943 { 2944 {
2944 switch (Animator.CurrentMovementAnimation) 2945 switch (Animator.CurrentMovementAnimation)
2945 { 2946 {
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 1bc4a25..40fbde1 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -1221,7 +1221,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1221 { 1221 {
1222 if (m_eventsubscription > m_requestedUpdateFrequency) 1222 if (m_eventsubscription > m_requestedUpdateFrequency)
1223 { 1223 {
1224 base.SendCollisionUpdate(CollisionEventsThisFrame); 1224 if (CollisionEventsThisFrame != null)
1225 {
1226 base.SendCollisionUpdate(CollisionEventsThisFrame);
1227 }
1225 CollisionEventsThisFrame = new CollisionEventUpdate(); 1228 CollisionEventsThisFrame = new CollisionEventUpdate();
1226 m_eventsubscription = 0; 1229 m_eventsubscription = 0;
1227 } 1230 }