Restore the recursive calling of PRIM_LINK_TARGET because the version I made
breaks LINK_SET et al.remove-scene-viewer
parent
1b9ae3fb51
commit
c5fb39e21f
|
@ -7067,6 +7067,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
bool positionChanged = false;
|
||||
LSL_Vector currentPosition = GetPartLocalPos(part);
|
||||
|
||||
try
|
||||
{
|
||||
while (idx < rules.Length)
|
||||
{
|
||||
int code = rules.GetLSLIntegerItem(idx++);
|
||||
|
@ -7436,14 +7438,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
TargetOmega(part, axis, (double)spinrate, (double)gain);
|
||||
break;
|
||||
case (int)ScriptBaseClass.PRIM_LINK_TARGET:
|
||||
if (remain < 1)
|
||||
if (remain < 3) // setting to 3 on the basis that parsing any usage of PRIM_LINK_TARGET that has nothing following it is pointless.
|
||||
return;
|
||||
LSL_Integer new_linknumber = rules.GetLSLIntegerItem(idx++);
|
||||
part = part.ParentGroup.GetLinkNumPart((int)new_linknumber);
|
||||
break;
|
||||
}
|
||||
}
|
||||
LSL_List new_rules = rules.GetSublist(idx, -1);
|
||||
setLinkPrimParams((int)new_linknumber, new_rules);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (positionChanged)
|
||||
{
|
||||
if (part.ParentGroup.RootPart == part)
|
||||
|
@ -7460,6 +7466,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public LSL_String llStringToBase64(string str)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue