diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 43cfea2..5bc78d6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2261,10 +2261,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2261 | // on the ILSL_Api interface. | 2261 | // on the ILSL_Api interface. |
2262 | LSL_Api LSL_Api = (LSL_Api)m_LSL_Api; | 2262 | LSL_Api LSL_Api = (LSL_Api)m_LSL_Api; |
2263 | LSL_List retVal = new LSL_List(); | 2263 | LSL_List retVal = new LSL_List(); |
2264 | LSL_List remaining = null; | ||
2264 | List<SceneObjectPart> parts = LSL_Api.GetLinkParts(linknumber); | 2265 | List<SceneObjectPart> parts = LSL_Api.GetLinkParts(linknumber); |
2265 | foreach (SceneObjectPart part in parts) | 2266 | foreach (SceneObjectPart part in parts) |
2266 | { | 2267 | { |
2267 | LSL_Api.GetPrimParams(part, rules, ref retVal); | 2268 | remaining = LSL_Api.GetPrimParams(part, rules, ref retVal); |
2269 | } | ||
2270 | |||
2271 | while (remaining != null && remaining.Length > 2) | ||
2272 | { | ||
2273 | linknumber = remaining.GetLSLIntegerItem(0); | ||
2274 | rules = remaining.GetSublist(1, -1); | ||
2275 | parts = LSL_Api.GetLinkParts(linknumber); | ||
2276 | |||
2277 | foreach (SceneObjectPart part in parts) | ||
2278 | remaining = LSL_Api.GetPrimParams(part, rules, ref retVal); | ||
2268 | } | 2279 | } |
2269 | return retVal; | 2280 | return retVal; |
2270 | } | 2281 | } |