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
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)