diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index f2783c814c..06e804a71a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs @@ -1124,8 +1124,7 @@ namespace OpenSim.Region.ScriptEngine.Shared object[] tmp; if (m_data is null || m_data.Length == 0) { - tmp = new object[1]; - tmp.SetValue(o, 0); + tmp = new object[] {o}; } else { @@ -1194,8 +1193,7 @@ namespace OpenSim.Region.ScriptEngine.Shared object[] tmp; if (m_data is null || m_data.Length == 0) { - tmp = new object[1]; - tmp[0] = o; + tmp = new object[] { o }; } else { diff --git a/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs b/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs index 0ccb1027d4..c9855e613f 100644 --- a/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs +++ b/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs @@ -4908,12 +4908,17 @@ namespace OpenSim.Region.ScriptEngine.Yengine ilGen.Emit(val, OpCodes.Newobj, lslFloatConstructorInfo); ilGen.Emit(val, OpCodes.Box, typeof(LSL_Float)); } - else if(eRVal.type is TokenTypeInt) + else if (eRVal.type is TokenTypeInt) { ilGen.Emit(val, OpCodes.Newobj, lslIntegerConstructorInfo); ilGen.Emit(val, OpCodes.Box, typeof(LSL_Integer)); } - else if((eRVal.type is TokenTypeKey) || (eRVal.type is TokenTypeStr)) + else if (eRVal.type is TokenTypeBool) + { + ilGen.Emit(val, OpCodes.Newobj, lslIntegerConstructorInfo); + ilGen.Emit(val, OpCodes.Box, typeof(LSL_Integer)); + } + else if ((eRVal.type is TokenTypeKey) || (eRVal.type is TokenTypeStr)) { ilGen.Emit(val, OpCodes.Newobj, lslStringConstructorInfo); ilGen.Emit(val, OpCodes.Box, typeof(LSL_String));