From 9edb8fa062ae2c4394dab2753b49ee7cda26f191 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin <vadim@wxwidgets.org> Date: Mon, 3 May 2010 11:19:42 +0000 Subject: [PATCH] Use wxString::ToCDouble() instead of emulating it. No real changes, just replace the code which was working around the absence of a wxString::ToCDouble() with the call to the real thing now that we have it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/xrc/xmlres.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/xrc/xmlres.cpp b/src/xrc/xmlres.cpp index 88fa86ab4a..cd053af857 100644 --- a/src/xrc/xmlres.cpp +++ b/src/xrc/xmlres.cpp @@ -1189,18 +1189,11 @@ float wxXmlResourceHandler::GetFloat(const wxString& param, float defaultv) { wxString str = GetParamValue(param); -#if wxUSE_INTL - // strings in XRC always use C locale but wxString::ToDouble() uses the - // current one, so transform the string to it supposing that the only - // difference between them is the decimal separator - // - // TODO: use wxString::ToCDouble() when we have it - str.Replace(wxT("."), wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, - wxLOCALE_CAT_NUMBER)); -#endif // wxUSE_INTL - + // strings in XRC always use C locale so make sure to use the + // locale-independent wxString::ToCDouble() and not ToDouble() which uses + // the current locale with a potentially different decimal point character double value; - if (!str.ToDouble(&value)) + if (!str.ToCDouble(&value)) value = defaultv; return wx_truncate_cast(float, value); -- 2.45.2