From 1e1c236c5c4958c1eb5653d6b9b60f53bb35a6cf Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Mon, 14 May 2012 11:32:03 +0200 Subject: [PATCH] In case of locale bug (system locale != Qt locale), force C locale --- src/mainwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 34ad719f..49536501 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -170,9 +170,11 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString & char *separator = localeconv()->decimal_point; if (separator != systemLocale.decimalPoint()) { kDebug()<<"------\n!!! system locale is not similar to Qt's locale... be prepared for bugs!!!\n------"; - // HACK: There is a locale conflict, so set locale to at least have correct decimal point - if (strncmp(separator, ".", 1) == 0) systemLocale = QLocale::c(); - else if (strncmp(separator, ",", 1) == 0) systemLocale = QLocale("fr_FR.UTF-8"); + // HACK: There is a locale conflict, so set locale to C + // Make sure to override exported values or it won't work + setenv("LANG", "C", 1); + setlocale(LC_NUMERIC, "C"); + systemLocale = QLocale::c(); } systemLocale.setNumberOptions(QLocale::OmitGroupSeparator); -- 2.39.2