From: Carl Hetherington Date: Mon, 28 Oct 2013 12:17:08 +0000 (+0000) Subject: Add missing LocaleGuard to prevent commas getting into config files. X-Git-Tag: v2.0.48~1220 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=894f300034d560f2a38c1ec0b693cd463599ba53;hp=c565d34e9c687639dcf62b36828829b4b0ce3517;p=dcpomatic.git Add missing LocaleGuard to prevent commas getting into config files. --- diff --git a/ChangeLog b/ChangeLog index c605245d1..f7a2689dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-10-28 Carl Hetherington + + * Fix failure to reload configuration on + some non-English locales. + 2013-10-26 Carl Hetherington * Version 1.23 released. diff --git a/run/dcpomatic b/run/dcpomatic index cf3de165c..d79266d3a 100755 --- a/run/dcpomatic +++ b/run/dcpomatic @@ -12,7 +12,7 @@ elif [ "$1" == "--callgrind" ]; then valgrind --tool="callgrind" build/src/tools/dcpomatic $* elif [ "$1" == "--i18n" ]; then shift - LANGUAGE=fr_FR.UTF8 LANG=fr_FR.UTF8 build/src/tools/dcpomatic "$*" + LANGUAGE=fr_FR.UTF8 LANG=fr_FR.UTF8 LC_ALL=fr_FR.UTF8 build/src/tools/dcpomatic "$*" else build/src/tools/dcpomatic $* fi diff --git a/src/lib/config.cc b/src/lib/config.cc index 0b1b99e22..0c6aed4a8 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -33,6 +33,7 @@ #include "sound_processor.h" #include "colour_conversion.h" #include "cinema.h" +#include "util.h" #include "i18n.h" @@ -79,6 +80,8 @@ Config::Config () void Config::read () { + LocaleGuard lg; + if (!boost::filesystem::exists (file (false))) { read_old_metadata (); return; @@ -263,7 +266,7 @@ Config::instance () /* configuration load failed; never mind, just stick with the default. */ - cerr << "dcpomatic: failed to load configuration (" << e.what() << "\n"; + cerr << "dcpomatic: failed to load configuration (" << e.what() << ")\n"; } catch (...) { cerr << "dcpomatic: failed to load configuration\n"; } @@ -276,6 +279,8 @@ Config::instance () void Config::write () const { + LocaleGuard lg; + xmlpp::Document doc; xmlpp::Element* root = doc.create_root_node ("Config");