From 1a407e2545b4f143b97b1c6ac5c5029a72333442 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sun, 3 Aug 2014 17:32:34 +0200
Subject: Stop deleting objects that have status DIE_AT_EDGE set when they
 cross regions. This was an OpenSim hack to prevent vehicles from trying to
 cross.

---
 .../EntityTransfer/EntityTransferModule.cs         | 30 ++++++++++++----------
 1 file changed, 17 insertions(+), 13 deletions(-)

(limited to 'OpenSim')

diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 8189864..d6d86b9 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -2271,19 +2271,23 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
             if (scene == null)
                 return;
 
-            if (grp.RootPart.DIE_AT_EDGE)
-            {
-                // We remove the object here
-                try
-                {
-                    scene.DeleteSceneObject(grp, false);
-                }
-                catch (Exception)
-                {
-                    m_log.Warn("[DATABASE]: exception when trying to remove the prim that crossed the border.");
-                }
-                return;
-            }
+// http://wiki.secondlife.com/wiki/STATUS_DIE_AT_EDGE
+// DieAtEdge does NOT mean that objects can't cross regions.
+// It just means they die when they go off world, unless
+// RETURN_AT_EDGE is set.
+//            if (grp.RootPart.DIE_AT_EDGE)
+//            {
+//                // We remove the object here
+//                try
+//                {
+//                    scene.DeleteSceneObject(grp, false);
+//                }
+//                catch (Exception)
+//                {
+//                    m_log.Warn("[DATABASE]: exception when trying to remove the prim that crossed the border.");
+//                }
+//                return;
+//            }
 
             int thisx = (int)scene.RegionInfo.RegionLocX;
             int thisy = (int)scene.RegionInfo.RegionLocY;
-- 
cgit v1.1