]> git.sesse.net Git - kdenlive/commitdiff
In case of locale bug (system locale != Qt locale), force C locale
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 14 May 2012 09:32:03 +0000 (11:32 +0200)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 14 May 2012 09:32:03 +0000 (11:32 +0200)
src/mainwindow.cpp

index 34ad719ff6c1c37930bda8b0b831c7600f7897bc..495365013c23cfdb4494a136dbae94caa8f76340 100644 (file)
@@ -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);