diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-11-17 00:56:28 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-11-17 00:56:28 +0000 |
| commit | 39960754026821775e6753a83f6934b8befa0dc2 (patch) | |
| tree | 8d772c04725d86d9525f511f08062f72a21bef61 /src/lib | |
| parent | f84289fe40cbd5fbf4f139f1c70870787bac7d3a (diff) | |
More uses of LocaleGuard; hence speculative fix for servers crashing on lexical_cast.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/audio_content.cc | 4 | ||||
| -rw-r--r-- | src/lib/colour_conversion.cc | 4 | ||||
| -rw-r--r-- | src/lib/sndfile_content.cc | 1 | ||||
| -rw-r--r-- | src/lib/subtitle_content.cc | 5 |
4 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc index 100264d44..e0eaacb91 100644 --- a/src/lib/audio_content.cc +++ b/src/lib/audio_content.cc @@ -54,6 +54,8 @@ AudioContent::AudioContent (shared_ptr<const Film> f, boost::filesystem::path p) AudioContent::AudioContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node) : Content (f, node) { + LocaleGuard lg; + _audio_gain = node->number_child<float> ("AudioGain"); _audio_delay = node->number_child<int> ("AudioDelay"); } @@ -61,6 +63,8 @@ AudioContent::AudioContent (shared_ptr<const Film> f, shared_ptr<const cxml::Nod void AudioContent::as_xml (xmlpp::Node* node) const { + LocaleGuard lg; + boost::mutex::scoped_lock lm (_mutex); node->add_child("AudioGain")->add_child_text (lexical_cast<string> (_audio_gain)); node->add_child("AudioDelay")->add_child_text (lexical_cast<string> (_audio_delay)); diff --git a/src/lib/colour_conversion.cc b/src/lib/colour_conversion.cc index ceb302971..95d267a8c 100644 --- a/src/lib/colour_conversion.cc +++ b/src/lib/colour_conversion.cc @@ -64,6 +64,8 @@ ColourConversion::ColourConversion (double i, bool il, double const m[3][3], dou ColourConversion::ColourConversion (shared_ptr<cxml::Node> node) : matrix (3, 3) { + LocaleGuard lg; + input_gamma = node->number_child<double> ("InputGamma"); input_gamma_linearised = node->bool_child ("InputGammaLinearised"); @@ -86,6 +88,8 @@ ColourConversion::ColourConversion (shared_ptr<cxml::Node> node) void ColourConversion::as_xml (xmlpp::Node* node) const { + LocaleGuard lg; + node->add_child("InputGamma")->add_child_text (lexical_cast<string> (input_gamma)); node->add_child("InputGammaLinearised")->add_child_text (input_gamma_linearised ? "1" : "0"); diff --git a/src/lib/sndfile_content.cc b/src/lib/sndfile_content.cc index d57cf04e3..31c1b4698 100644 --- a/src/lib/sndfile_content.cc +++ b/src/lib/sndfile_content.cc @@ -23,6 +23,7 @@ #include "film.h" #include "compose.hpp" #include "job.h" +#include "util.h" #include "i18n.h" diff --git a/src/lib/subtitle_content.cc b/src/lib/subtitle_content.cc index 9fefbbfcd..1194e2dc9 100644 --- a/src/lib/subtitle_content.cc +++ b/src/lib/subtitle_content.cc @@ -19,6 +19,7 @@ #include <libcxml/cxml.h> #include "subtitle_content.h" +#include "util.h" using std::string; using boost::shared_ptr; @@ -40,6 +41,8 @@ SubtitleContent::SubtitleContent (shared_ptr<const Film> f, shared_ptr<const cxm , _subtitle_offset (0) , _subtitle_scale (1) { + LocaleGuard lg; + _subtitle_offset = node->number_child<float> ("SubtitleOffset"); _subtitle_scale = node->number_child<float> ("SubtitleScale"); } @@ -47,6 +50,8 @@ SubtitleContent::SubtitleContent (shared_ptr<const Film> f, shared_ptr<const cxm void SubtitleContent::as_xml (xmlpp::Node* root) const { + LocaleGuard lg; + root->add_child("SubtitleOffset")->add_child_text (lexical_cast<string> (_subtitle_offset)); root->add_child("SubtitleScale")->add_child_text (lexical_cast<string> (_subtitle_scale)); } |
