* Fixes mantis 4416. Animator is dereferenced on logout
parent
c0f3a4c833
commit
c4b6010fb3
|
@ -2932,14 +2932,15 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
|
//if ((Math.Abs(Velocity.X) > 0.1e-9f) || (Math.Abs(Velocity.Y) > 0.1e-9f))
|
||||||
// The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents(
|
// The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents(
|
||||||
// as of this comment the interval is set in AddToPhysicalScene
|
// as of this comment the interval is set in AddToPhysicalScene
|
||||||
Animator.UpdateMovementAnimations();
|
if (Animator!=null)
|
||||||
|
Animator.UpdateMovementAnimations();
|
||||||
|
|
||||||
CollisionEventUpdate collisionData = (CollisionEventUpdate)e;
|
CollisionEventUpdate collisionData = (CollisionEventUpdate)e;
|
||||||
Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList;
|
Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList;
|
||||||
|
|
||||||
CollisionPlane = Vector4.UnitW;
|
CollisionPlane = Vector4.UnitW;
|
||||||
|
|
||||||
if (coldata.Count != 0)
|
if (coldata.Count != 0 && Animator != null)
|
||||||
{
|
{
|
||||||
switch (Animator.CurrentMovementAnimation)
|
switch (Animator.CurrentMovementAnimation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1221,7 +1221,10 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
{
|
{
|
||||||
if (m_eventsubscription > m_requestedUpdateFrequency)
|
if (m_eventsubscription > m_requestedUpdateFrequency)
|
||||||
{
|
{
|
||||||
base.SendCollisionUpdate(CollisionEventsThisFrame);
|
if (CollisionEventsThisFrame != null)
|
||||||
|
{
|
||||||
|
base.SendCollisionUpdate(CollisionEventsThisFrame);
|
||||||
|
}
|
||||||
CollisionEventsThisFrame = new CollisionEventUpdate();
|
CollisionEventsThisFrame = new CollisionEventUpdate();
|
||||||
m_eventsubscription = 0;
|
m_eventsubscription = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue