kicad-developers team mailing list archive
Mailing list archive
Re: Locale fix in KiCAD is not working (breaks my build)
JP, it's a problem to pull a dependency on wxwidgets 2.9.x? and use the CDouble methods from
It seems to work here, and LOCALE_IO seems dangerous regarding threading.
This is the FromCDouble implementation, they used a Replace, as my original solution :-)
wxString wxString::FromCDouble(double val, int precision)
wxCHECK_MSG( precision >= -1, wxString(), "Invalid negative precision" );
#if wxUSE_STD_IOSTREAM && wxUSE_STD_STRING
// We assume that we can use the ostream and not wstream for numbers.
wxSTD ostringstream os;
if ( precision != -1 )
os << val;
#else // !wxUSE_STD_IOSTREAM
// Can't use iostream locale support, fall back to the manual method
wxString s = FromDouble(val, precision);
wxString sep = wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT,
#else // !wxUSE_INTL
// As above, this is the most common alternative value. Notice that here it
// doesn't matter if we guess wrongly and the current separator is already
// ".": we'll just waste a call to Replace() in this case.
#endif // wxUSE_INTL/!wxUSE_INTL
#endif // wxUSE_STD_IOSTREAM/!wxUSE_STD_IOSTREAM
Miguel Angel Ajo
On 15/03/2013, at 12:57, Miguel Angel Ajo Pelayo <miguelangel@xxxxxxx> wrote:
> Jean Pierre,
> It sounds like what I need, without adding dependencies on 2.9 or 3.0 (as Edwin was pointing me privately).
> Anyway, that cannot be a problem with threading? or it just sets locale "locally" and not App wide?
> Thanks a lot for the help,
> Miguel Angel Ajo
> skype: ajoajoajo
> On 15/03/2013, at 12:49, jp charras <jp.charras@xxxxxxxxxx> wrote:
>> We have this kind of issue for all I/O file functions.
>> In KiCad there is a class named LOCALE_IO to fix it
>> thee ctor switches on the "C" fp notation, and the dtor restores the current locale.
>> See for instance the line:
>> LOCALE_IO toggle; // toggles on, then off, the C locale.
>> in pcb_parser.cpp, line 333
>> Jean-Pierre CHARRAS
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp