summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-10-28 12:17:08 +0000
committerCarl Hetherington <cth@carlh.net>2013-10-28 12:17:08 +0000
commit894f300034d560f2a38c1ec0b693cd463599ba53 (patch)
tree96d22cffa9c1e14f04c5e1c2ec6a01ef5af261d8
parentc565d34e9c687639dcf62b36828829b4b0ce3517 (diff)
Add missing LocaleGuard to prevent commas getting into config files.
-rw-r--r--ChangeLog5
-rwxr-xr-xrun/dcpomatic2
-rw-r--r--src/lib/config.cc7
3 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c605245d1..f7a2689dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-28 Carl Hetherington <cth@carlh.net>
+
+ * Fix failure to reload configuration on
+ some non-English locales.
+
2013-10-26 Carl Hetherington <cth@carlh.net>
* 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");