BUG FIX prevent references to null scene (as happens on mesh uploads)

avinationmerge
UbitUmarov 2014-11-03 00:03:53 +00:00
parent 377a8072dc
commit 37a5eab0f5
1 changed files with 15 additions and 12 deletions

View File

@ -529,21 +529,21 @@ namespace OpenSim.Region.Framework.Scenes
set
{
Vector3 val = value;
if (!IsAttachmentCheckFull() && !Scene.LoadingPrims &&
( Scene.TestBorderCross(val, Cardinals.E) ||
if (Scene != null && !IsAttachmentCheckFull()
&& !Scene.LoadingPrims &&
(Scene.TestBorderCross(val, Cardinals.E) ||
Scene.TestBorderCross(val, Cardinals.W) ||
Scene.TestBorderCross(val, Cardinals.N) ||
Scene.TestBorderCross(val, Cardinals.S))
)
{
if (!inTransit)
{
inTransit = true;
SOGCrossDelegate d = CrossAsync;
d.BeginInvoke(this, val, CrossAsyncCompleted, d);
}
return;
if (!inTransit)
{
inTransit = true;
SOGCrossDelegate d = CrossAsync;
d.BeginInvoke(this, val, CrossAsyncCompleted, d);
}
return;
}
if (RootPart.GetStatusSandbox())
@ -582,6 +582,7 @@ namespace OpenSim.Region.Framework.Scenes
av.sitSOGmoved();
}
// now that position is changed tell it to scripts
if (triggerScriptEvent)
{
@ -591,7 +592,9 @@ namespace OpenSim.Region.Framework.Scenes
}
}
Scene.EventManager.TriggerParcelPrimCountTainted();
if (Scene != null)
Scene.EventManager.TriggerParcelPrimCountTainted();
}
}
@ -789,7 +792,7 @@ namespace OpenSim.Region.Framework.Scenes
{
if (agent.ParentUUID != UUID.Zero)
{
agent.ClearControls();
agent.HandleForceReleaseControls(agent.ControllingClient,agent.UUID);
agent.ParentPart = null;
// agent.ParentPosition = Vector3.Zero;
// agent.ParentUUID = UUID.Zero;