From f337cb205d449c3dc40a29c2d2deecaf082e057c Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Fri, 11 Apr 2008 13:51:11 +0000 Subject: From: Kurt Taylor Attached is the second half of the fix for 821 - this is the null reference check for llDetectedName and the other *Detected* function. --- .../ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 6a0b3e2..a2bc397 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -434,13 +434,15 @@ namespace OpenSim.Region.ScriptEngine.Common { m_host.AddScriptLPS(1); LSL_Types.list SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID); - if ((number>=0)&&(number <= SenseList.Length)) + if (SenseList != null) { - LLUUID SensedUUID = (LLUUID)SenseList.Data[number]; - return resolveName(SensedUUID); + if ((number >= 0) && (number <= SenseList.Length)) + { + LLUUID SensedUUID = (LLUUID)SenseList.Data[number]; + return resolveName(SensedUUID); + } } - else - return String.Empty; + return String.Empty; } public LLUUID uuidDetectedKey(int number) @@ -479,15 +481,18 @@ namespace OpenSim.Region.ScriptEngine.Common public EntityBase entityDetectedKey(int number) { LSL_Types.list SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID); - if ((number >= 0) && (number < SenseList.Length)) + if (SenseList != null) { - LLUUID SensedUUID = (LLUUID)SenseList.Data[number]; - EntityBase SensedObject = null; - lock (World.Entities) + if ((number >= 0) && (number < SenseList.Length)) { - World.Entities.TryGetValue(SensedUUID, out SensedObject); + LLUUID SensedUUID = (LLUUID)SenseList.Data[number]; + EntityBase SensedObject = null; + lock (World.Entities) + { + World.Entities.TryGetValue(SensedUUID, out SensedObject); + } + return SensedObject; } - return SensedObject; } return null; } -- cgit v1.1