Fix bug where using PRIM_LINK_TARGET with only two remaining list items (e.g. link number then PRIM_ROTATION) would not return the parameter
Extended regression test for this casevarregion
parent
60cf42cb8d
commit
f99dae03cb
|
@ -8202,7 +8202,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
else
|
else
|
||||||
remaining = GetAgentParams((ScenePresence)entity, rules, ref result);
|
remaining = GetAgentParams((ScenePresence)entity, rules, ref result);
|
||||||
|
|
||||||
if (remaining == null || remaining.Length <= 2)
|
if (remaining == null || remaining.Length < 2)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
int linknumber = remaining.GetLSLIntegerItem(0);
|
int linknumber = remaining.GetLSLIntegerItem(0);
|
||||||
|
@ -8786,7 +8786,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
case (int)ScriptBaseClass.PRIM_LINK_TARGET:
|
case (int)ScriptBaseClass.PRIM_LINK_TARGET:
|
||||||
|
|
||||||
// TODO: Should be issuing a runtime script warning in this case.
|
// TODO: Should be issuing a runtime script warning in this case.
|
||||||
if (remain < 3)
|
if (remain < 2)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return rules.GetSublist(idx, -1);
|
return rules.GetSublist(idx, -1);
|
||||||
|
|
|
@ -100,6 +100,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
Assert.That(resList.Length, Is.EqualTo(1));
|
Assert.That(resList.Length, Is.EqualTo(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check 2 prim case
|
||||||
|
{
|
||||||
|
LSL_List resList
|
||||||
|
= apiGrp1.llGetLinkPrimitiveParams(
|
||||||
|
1,
|
||||||
|
new LSL_List(
|
||||||
|
new LSL_Integer(ScriptBaseClass.PRIM_ROTATION),
|
||||||
|
new LSL_Integer(ScriptBaseClass.PRIM_LINK_TARGET),
|
||||||
|
new LSL_Integer(2),
|
||||||
|
new LSL_Integer(ScriptBaseClass.PRIM_ROTATION)));
|
||||||
|
|
||||||
|
Assert.That(resList.Length, Is.EqualTo(2));
|
||||||
|
}
|
||||||
|
|
||||||
// Check invalid parameters are ignored
|
// Check invalid parameters are ignored
|
||||||
{
|
{
|
||||||
LSL_List resList
|
LSL_List resList
|
||||||
|
|
Loading…
Reference in New Issue