From 91333b926770dd4d7a2938fee6de11d082be6c76 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 27 Feb 2014 00:23:24 +0000
Subject: Stop LSL_Api.GetLinkEntities() from creating an unused list on every
 parameter except LINK_THIS.  Simplify code.

---
 .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs     | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

(limited to 'OpenSim/Region')

diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index dd8cff7..2e8b053 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -435,8 +435,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 
         public List<ISceneEntity> GetLinkEntities(SceneObjectPart part, int linkType)
         {
-            List<ISceneEntity> ret = new List<ISceneEntity>();
-            ret.Add(part);
+            List<ISceneEntity> ret;
 
             switch (linkType)
             {
@@ -444,9 +443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                     return new List<ISceneEntity>(part.ParentGroup.Parts);
 
                 case ScriptBaseClass.LINK_ROOT:
-                    ret = new List<ISceneEntity>();
-                    ret.Add(part.ParentGroup.RootPart);
-                    return ret;
+                    return new List<ISceneEntity>() { part.ParentGroup.RootPart };
 
                 case ScriptBaseClass.LINK_ALL_OTHERS:
                     ret = new List<ISceneEntity>(part.ParentGroup.Parts);
@@ -461,10 +458,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 
                     if (ret.Contains(part.ParentGroup.RootPart))
                         ret.Remove(part.ParentGroup.RootPart);
+
                     return ret;
 
                 case ScriptBaseClass.LINK_THIS:
-                    return ret;
+                    return new List<ISceneEntity>() { part };
 
                 default:
                     if (linkType < 0)
@@ -473,9 +471,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                     ISceneEntity target = GetLinkEntity(part, linkType);
                     if (target == null)
                         return new List<ISceneEntity>();
-                    ret = new List<ISceneEntity>();
-                    ret.Add(target);
-                    return ret;
+
+                    return new List<ISceneEntity>() { target };
             }
         }
 
-- 
cgit v1.1