aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs21
1 files changed, 14 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 759fc23..69bfb9a 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -365,11 +365,14 @@ namespace OpenSim.Region.Framework.Scenes
365 { 365 {
366 Vector3 val = value; 366 Vector3 val = value;
367 367
368 if ((m_scene.TestBorderCross(val - Vector3.UnitX, Cardinals.E) || m_scene.TestBorderCross(val + Vector3.UnitX, Cardinals.W) 368 if (Scene != null)
369 || m_scene.TestBorderCross(val - Vector3.UnitY, Cardinals.N) || m_scene.TestBorderCross(val + Vector3.UnitY, Cardinals.S))
370 && !IsAttachmentCheckFull() && (!m_scene.LoadingPrims))
371 { 369 {
372 m_scene.CrossPrimGroupIntoNewRegion(val, this, true); 370 if ((Scene.TestBorderCross(val - Vector3.UnitX, Cardinals.E) || Scene.TestBorderCross(val + Vector3.UnitX, Cardinals.W)
371 || Scene.TestBorderCross(val - Vector3.UnitY, Cardinals.N) || Scene.TestBorderCross(val + Vector3.UnitY, Cardinals.S))
372 && !IsAttachmentCheckFull() && (!Scene.LoadingPrims))
373 {
374 m_scene.CrossPrimGroupIntoNewRegion(val, this, true);
375 }
373 } 376 }
374 377
375 foreach (SceneObjectPart part in m_parts.GetArray()) 378 foreach (SceneObjectPart part in m_parts.GetArray())
@@ -381,8 +384,11 @@ namespace OpenSim.Region.Framework.Scenes
381 if (Util.GetDistanceTo(RootPart.StatusSandboxPos, value) > 10) 384 if (Util.GetDistanceTo(RootPart.StatusSandboxPos, value) > 10)
382 { 385 {
383 RootPart.ScriptSetPhysicsStatus(false); 386 RootPart.ScriptSetPhysicsStatus(false);
384 Scene.SimChat(Utils.StringToBytes("Hit Sandbox Limit"), 387
385 ChatTypeEnum.DebugChannel, 0x7FFFFFFF, RootPart.AbsolutePosition, Name, UUID, false); 388 if (Scene != null)
389 Scene.SimChat(Utils.StringToBytes("Hit Sandbox Limit"),
390 ChatTypeEnum.DebugChannel, 0x7FFFFFFF, RootPart.AbsolutePosition, Name, UUID, false);
391
386 return; 392 return;
387 } 393 }
388 } 394 }
@@ -420,7 +426,8 @@ namespace OpenSim.Region.Framework.Scenes
420 //m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor); 426 //m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor);
421 //} 427 //}
422 428
423 m_scene.EventManager.TriggerParcelPrimCountTainted(); 429 if (Scene != null)
430 Scene.EventManager.TriggerParcelPrimCountTainted();
424 } 431 }
425 } 432 }
426 433