Anti-crash fix: Allow int (numbers without dot) when changing Estate terrain settings.
Also added exception handling if string->float conversion still should fail for some reason.ThreadPoolClientBranch
parent
4f39df42ae
commit
6eaa9b4766
|
@ -426,17 +426,29 @@ namespace OpenSim.Region.Environment
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
float WaterHeight = (float) Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[0].Parameter));
|
try
|
||||||
float TerrainRaiseLimit =
|
{
|
||||||
(float) Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[1].Parameter));
|
string tmp;
|
||||||
float TerrainLowerLimit =
|
tmp = Helpers.FieldToUTF8String(packet.ParamList[0].Parameter);
|
||||||
(float) Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[2].Parameter));
|
if (!tmp.Contains(".")) tmp += ".00";
|
||||||
bool UseFixedSun = convertParamStringToBool(packet.ParamList[4].Parameter);
|
float WaterHeight = (float)Convert.ToDecimal(tmp);
|
||||||
float SunHour = (float) Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[5].Parameter));
|
tmp = Helpers.FieldToUTF8String(packet.ParamList[1].Parameter);
|
||||||
|
if (!tmp.Contains(".")) tmp += ".00";
|
||||||
|
float TerrainRaiseLimit = (float)Convert.ToDecimal(tmp);
|
||||||
|
tmp = Helpers.FieldToUTF8String(packet.ParamList[2].Parameter);
|
||||||
|
if (!tmp.Contains(".")) tmp += ".00";
|
||||||
|
float TerrainLowerLimit = (float)Convert.ToDecimal(tmp);
|
||||||
|
bool UseFixedSun = convertParamStringToBool(packet.ParamList[4].Parameter);
|
||||||
|
float SunHour = (float)Convert.ToDecimal(Helpers.FieldToUTF8String(packet.ParamList[5].Parameter));
|
||||||
|
|
||||||
setRegionSettings(WaterHeight, TerrainRaiseLimit, TerrainLowerLimit, UseFixedSun, SunHour);
|
setRegionSettings(WaterHeight, TerrainRaiseLimit, TerrainLowerLimit, UseFixedSun, SunHour);
|
||||||
|
|
||||||
sendRegionInfoPacketToAll();
|
sendRegionInfoPacketToAll();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MainLog.Instance.Error("EstateManager: Exception while setting terrain settings: \n" + packet.ToString() + "\n" + ex.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue