<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=iso-8859-1>
<META content="MSHTML 6.00.6000.16674" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px"
bgColor=#ffffff leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT face=Arial size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have noticed some issues when running OpenSim on
Windows XP which regional settings are set to a different culture than
en-US.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Please take a look on <A
title="http://opensimulator.org/mantis/view.php?id=1611
CTRL + Cliquez ici pour suivre le lien"
href="http://opensimulator.org/mantis/view.php?id=1611">http://opensimulator.org/mantis/view.php?id=1611</A> and
<A
title="http://opensimulator.org/mantis/view.php?id=1382
CTRL + Cliquez ici pour suivre le lien"
href="http://opensimulator.org/mantis/view.php?id=1382">http://opensimulator.org/mantis/view.php?id=1382</A>.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I noticed that
Framework.Culture.SetCurrentCulture() is called to force the thread culture to
en-US when the simulator is being started.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>However, it seems that threads which are
created during OpenSim execution are using a CultureInfo based on the operating
system regional settings. I suppose this happens to the scripts threads. I have
included a snapshot in mantis 1611 that shows the current thread culture and the
result of a vector ToString() conversion in the Watch box during debug mode in
VS2008.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The french culture I am using uses decimal symbol
as coma "," instead of point ".". This makes convert, tryparse and tostring()
methods to fail or send erroneous results. For example, Vector parsing operation
and some deserialization operations. For example,
llSetPrimitiveParams([PRIM_SIZE], <10,10,10>]); gives a flat prim that
correspond to a <10,0,10> scale <IMG title="Visage émoticône"
style="FLOAT: none; MARGIN: 0px; POSITION: static" tabIndex=-1
alt="Visage émoticône" src="cid:226CDB7354D14E4E834D6D923425BA10@LBLAPTOP"
MSNNonUserImageOrEmoticon="true"></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have tried to hack the ThreadTracker to force the
threads culture to en-US in Add() method, and everything is ok. I dont think
this would be a recommended solution because ThreadTracker has not been design
for this purpose. For now </FONT><FONT face=Arial size=2>I switched the regional
settings of Windows to en-US.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Because I think OpenSim aims to be culture
independant, </FONT>I think the best is to force the en-US culture at some
"root" level for threads too. Another solution consists in passing the right
cultureinfo to every culture-sentive methods. I have seen that 1382 is assigned
to Adam. I dont know what is the best to do and I welcome recommendations.</DIV>
<DIV></FONT><FONT face=Arial size=2></FONT> </DIV></DIV>
<DIV><FONT face=Arial size=2>Oh, by the way, I have no clue whether it happens
with Linux and MacOSX operating system.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Cheers,</FONT></DIV>
<DIV><FONT face=Arial size=2>Laurent.</FONT></DIV>
<DIV><FONT face=Arial size=2>Forest Klaar (SL)</FONT></DIV>
<DIV><FONT face=Arial size=2>Grumly TheBear (Francogrid and
others...)</FONT></DIV></BODY></HTML>