aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
diff options
context:
space:
mode:
authorMelanie Thielker2008-09-20 16:24:36 +0000
committerMelanie Thielker2008-09-20 16:24:36 +0000
commit5a1be7835c663095207ef1e4494331c1c1e867bc (patch)
tree88e8b8246fbc6f25b15448aaef7414001862eddc /OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
parentAdd <expire> tag to data snapshot to give the search server an idea (diff)
downloadopensim-SC-5a1be7835c663095207ef1e4494331c1c1e867bc.zip
opensim-SC-5a1be7835c663095207ef1e4494331c1c1e867bc.tar.gz
opensim-SC-5a1be7835c663095207ef1e4494331c1c1e867bc.tar.bz2
opensim-SC-5a1be7835c663095207ef1e4494331c1c1e867bc.tar.xz
XEngine: Fix llGetListEntryType to return the correct type for the LSL types.
Change serialization to omit types it can't deal with.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs20
1 files changed, 18 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
index f856ea5..b32fce6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
@@ -138,7 +138,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
138 c.Data = data; 138 c.Data = data;
139 vars[field.Name] = c; 139 vars[field.Name] = c;
140 } 140 }
141 else 141 else if(field.FieldType == typeof(LSL_Types.LSLInteger) ||
142 field.FieldType == typeof(LSL_Types.LSLString) ||
143 field.FieldType == typeof(LSL_Types.LSLFloat) ||
144 field.FieldType == typeof(Int32) ||
145 field.FieldType == typeof(Double) ||
146 field.FieldType == typeof(Single) ||
147 field.FieldType == typeof(String) ||
148 field.FieldType == typeof(Byte) ||
149 field.FieldType == typeof(Short))
142 { 150 {
143 vars[field.Name] = field.GetValue(this); 151 vars[field.Name] = field.GetValue(this);
144 } 152 }
@@ -161,7 +169,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
161 Array.Copy(data, 0, v.Data, 0, data.Length); 169 Array.Copy(data, 0, v.Data, 0, data.Length);
162 m_Fields[var.Key].SetValue(this, v); 170 m_Fields[var.Key].SetValue(this, v);
163 } 171 }
164 else 172 else if(field.FieldType == typeof(LSL_Types.LSLInteger) ||
173 field.FieldType == typeof(LSL_Types.LSLString) ||
174 field.FieldType == typeof(LSL_Types.LSLFloat) ||
175 field.FieldType == typeof(Int32) ||
176 field.FieldType == typeof(Double) ||
177 field.FieldType == typeof(Single) ||
178 field.FieldType == typeof(String) ||
179 field.FieldType == typeof(Byte) ||
180 field.FieldType == typeof(Short))
165 { 181 {
166 m_Fields[var.Key].SetValue(this, var.Value); 182 m_Fields[var.Key].SetValue(this, var.Value);
167 } 183 }