Mantis#1673. Thank you kindly, Matth for a patch that:

LSLInteger + literal integer is not an LSLInteger.
The included patch fixes the issue: LSLInteger + literal 
integer is not an LSLInteger (also fixed for -,*,/)
0.6.0-stable
Charles Krinke 2008-07-10 00:40:38 +00:00
parent 9a06bf47b9
commit c9a7bf7e58
2 changed files with 40 additions and 0 deletions

View File

@ -1293,6 +1293,26 @@ namespace OpenSim.Region.ScriptEngine.Common
return ret;
}
static public LSLInteger operator +(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value + i2);
}
static public LSLInteger operator -(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value - i2);
}
static public LSLInteger operator *(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value * i2);
}
static public LSLInteger operator /(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value / i2);
}
public override bool Equals(Object o)
{
if (!(o is LSLInteger))

View File

@ -1321,6 +1321,26 @@ namespace OpenSim.Region.ScriptEngine.Shared
return ret;
}
static public LSLInteger operator +(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value + i2);
}
static public LSLInteger operator -(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value - i2);
}
static public LSLInteger operator *(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value * i2);
}
static public LSLInteger operator /(LSLInteger i1, int i2)
{
return new LSLInteger(i1.value / i2);
}
static public LSLInteger operator &(LSLInteger i1, LSLInteger i2)
{
int ret = i1.value & i2.value;