MantisBT - opensim
View Issue Details
0006372opensim[REGION] Scripting Enginepublic2012-10-23 03:422012-10-26 02:55
SignpostMarv 
 
normalminorsometimes
patch includedopen 
 
 
Standalone (1 Region) , Grid (Multiple Regions per Sim)
BasicPhysics
.NET / Windows32, .NET / Windows64
None
0006372: system ints sneaking into lists causes issues with script comms mod funcs.
I thought I fixed this before, but it seems that mod funcs via script comms can leave system int sneaking into LSL lists, which then causes issues with ConvertFromLSL via modInvoke.
No tags attached.
patch modInvokeListTypes.patch (3,124) 2012-10-23 03:42
http://opensimulator.org/mantis/file_download.php?file_id=3370&type=bug
Issue History
2012-10-23 03:42SignpostMarvNew Issue
2012-10-23 03:42SignpostMarvFile Added: modInvokeListTypes.patch
2012-10-23 03:43SignpostMarvNote Added: 0022899
2012-10-23 03:43SignpostMarvStatusnew => patch included
2012-10-25 17:49justinccNote Added: 0022931
2012-10-26 02:55SignpostMarvNote Added: 0022940
2012-10-26 02:57SignpostMarvNote Edited: 0022940bug_revision_view_page.php?bugnote_id=22940#r756

Notes
(0022899)
SignpostMarv   
2012-10-23 03:43   
Attached patch includes an optional commit to give a consistent appearance to the if-else-if-else block.
(0022931)
justincc   
2012-10-25 17:49   
Applied as git master ecdb886..01972cc. Thanks Marv.

Do you think there are similar problems with the few doubles and strings in LSL_Constants.cs? In this case, it might be easier to change those constants to be LSL wrapped classes. I did try to start this with the ints a couple of weeks ago but the sheer amount of code shuffling required (chiefly in select statements) broke me. But it might be more feasible to do this with the few strings and doubles.
(0022940)
SignpostMarv   
2012-10-26 02:55   
(edited on: 2012-10-26 02:57)
For ints, it might not be necessary on the switch statements found in llSetPrimitiveParams, as the LSL int will happily typecast to system int.

How do switch statements work with implicit casting operators?