From 91333b926770dd4d7a2938fee6de11d082be6c76 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 27 Feb 2014 00:23:24 +0000 Subject: [PATCH] Stop LSL_Api.GetLinkEntities() from creating an unused list on every parameter except LINK_THIS. Simplify code. --- .../Shared/Api/Implementation/LSL_Api.cs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index dd8cff7471..2e8b053071 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 GetLinkEntities(SceneObjectPart part, int linkType) { - List ret = new List(); - ret.Add(part); + List ret; switch (linkType) { @@ -444,9 +443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return new List(part.ParentGroup.Parts); case ScriptBaseClass.LINK_ROOT: - ret = new List(); - ret.Add(part.ParentGroup.RootPart); - return ret; + return new List() { part.ParentGroup.RootPart }; case ScriptBaseClass.LINK_ALL_OTHERS: ret = new List(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() { 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(); - ret = new List(); - ret.Add(target); - return ret; + + return new List() { target }; } }