mirror of
https://github.com/opensim/opensim.git
synced 2026-06-06 19:35:46 +08:00
From: Kurt Taylor <krtaylor@us.ibm.com>
Attached is the second half of the fix for 821 - this is the null reference check for llDetectedName and the other *Detected* function.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user