mirror of
https://github.com/opensim/opensim.git
synced 2026-05-14 18:55:39 +08:00
mantis 9121: fix failed lsl string casts on lsl list sort
This commit is contained in:
@@ -1398,6 +1398,10 @@ namespace OpenSim.Region.ScriptEngine.Shared
|
||||
LSLString r = (LSLString)right;
|
||||
ret = string.CompareOrdinal(lsl.m_string, r.m_string);
|
||||
}
|
||||
else if (left is string ssl)
|
||||
{
|
||||
ret = string.CompareOrdinal(ssl, right as string);
|
||||
}
|
||||
else if (left is LSLFloat fl)
|
||||
{
|
||||
LSLFloat r = (LSLFloat)right;
|
||||
@@ -1418,10 +1422,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ascending)
|
||||
return ret;
|
||||
|
||||
return -ret;
|
||||
return ascending ? ret : -ret;
|
||||
}
|
||||
|
||||
class HomogeneousComparer : IComparer
|
||||
@@ -1449,6 +1450,10 @@ namespace OpenSim.Region.ScriptEngine.Shared
|
||||
LSLString r = (LSLString)right;
|
||||
ret = string.CompareOrdinal(lsl.m_string, r.m_string);
|
||||
}
|
||||
else if (left is string ssl)
|
||||
{
|
||||
ret = string.CompareOrdinal(ssl, right as string);
|
||||
}
|
||||
else if (left is LSLFloat fl)
|
||||
{
|
||||
LSLFloat r = (LSLFloat)right;
|
||||
@@ -1491,6 +1496,10 @@ namespace OpenSim.Region.ScriptEngine.Shared
|
||||
LSLString r = (LSLString)right;
|
||||
return string.CompareOrdinal(lsl.m_string, r.m_string) > 0;
|
||||
}
|
||||
else if (left is string ssl)
|
||||
{
|
||||
return string.CompareOrdinal(ssl, right as string) > 0;
|
||||
}
|
||||
if (left is LSLFloat lf)
|
||||
{
|
||||
LSLFloat r = (LSLFloat)right;
|
||||
@@ -1524,6 +1533,11 @@ namespace OpenSim.Region.ScriptEngine.Shared
|
||||
LSLString r = (LSLString)right;
|
||||
return string.CompareOrdinal(lsl.m_string, r.m_string) < 0;
|
||||
}
|
||||
else if (left is string ssl)
|
||||
{
|
||||
string sr = right as string;
|
||||
return string.CompareOrdinal(ssl, sr) < 0;
|
||||
}
|
||||
if (left is LSLFloat lf)
|
||||
{
|
||||
LSLFloat r = (LSLFloat)right;
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace OpenSim.Region.ScriptEngine.Yengine
|
||||
{
|
||||
Name = "CustomDelegateAssembly"
|
||||
};
|
||||
AssemblyBuilder assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(assembly, AssemblyBuilderAccess.Run);
|
||||
AssemblyBuilder assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(assembly, AssemblyBuilderAccess.RunAndCollect);
|
||||
delegateModuleBuilder = assemblyBuilder.DefineDynamicModule("CustomDelegateModule");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user