diff options
author | Robert Adams | 2013-08-02 09:44:01 -0700 |
---|---|---|
committer | Robert Adams | 2013-08-02 09:44:01 -0700 |
commit | 87ee0c395ed82f27c2a52b5023d8036eb7e355c9 (patch) | |
tree | 6e74111abe0a2eb856f0ddcf31d5bab79e22b3e6 /OpenSim/Region/ScriptEngine | |
parent | Turn off edit beams when object is derezed while being edited. (mantis #6722) (diff) | |
download | opensim-SC-87ee0c395ed82f27c2a52b5023d8036eb7e355c9.zip opensim-SC-87ee0c395ed82f27c2a52b5023d8036eb7e355c9.tar.gz opensim-SC-87ee0c395ed82f27c2a52b5023d8036eb7e355c9.tar.bz2 opensim-SC-87ee0c395ed82f27c2a52b5023d8036eb7e355c9.tar.xz |
Fix problem with modInvoke defined integer constants being build into
scripts as boxed integers rather than proper reference to a new LSLInteger.
This fixes an exception when using a registered integer constant in
a script.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs index 21bae27..92dd813 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs | |||
@@ -319,7 +319,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
319 | 319 | ||
320 | object[] convertedParms = new object[parms.Length]; | 320 | object[] convertedParms = new object[parms.Length]; |
321 | for (int i = 0; i < parms.Length; i++) | 321 | for (int i = 0; i < parms.Length; i++) |
322 | convertedParms[i] = ConvertFromLSL(parms[i],signature[i], fname); | 322 | convertedParms[i] = ConvertFromLSL(parms[i], signature[i], fname); |
323 | 323 | ||
324 | // now call the function, the contract with the function is that it will always return | 324 | // now call the function, the contract with the function is that it will always return |
325 | // non-null but don't trust it completely | 325 | // non-null but don't trust it completely |
@@ -444,7 +444,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
444 | } | 444 | } |
445 | } | 445 | } |
446 | 446 | ||
447 | MODError(String.Format("{1}: parameter type mismatch; expecting {0}",type.Name, fname)); | 447 | MODError(String.Format("{0}: parameter type mismatch; expecting {1}, type(parm)={2}", fname, type.Name, lslparm.GetType())); |
448 | return null; | 448 | return null; |
449 | } | 449 | } |
450 | 450 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs index 9e32f40..6aa717d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs | |||
@@ -937,7 +937,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools | |||
937 | { | 937 | { |
938 | string retval = null; | 938 | string retval = null; |
939 | if (value is int) | 939 | if (value is int) |
940 | retval = ((int)value).ToString(); | 940 | retval = String.Format("new LSL_Types.LSLInteger({0})",((int)value).ToString()); |
941 | else if (value is float) | 941 | else if (value is float) |
942 | retval = String.Format("new LSL_Types.LSLFloat({0})",((float)value).ToString()); | 942 | retval = String.Format("new LSL_Types.LSLFloat({0})",((float)value).ToString()); |
943 | else if (value is string) | 943 | else if (value is string) |