Fix subtitle colouring (#152).
[dcpomatic.git] / src / lib / colour_conversion.cc
index ceb302971aef88f4c9654ea9d390eed473df1aef..c3fa05426f3a2877b7b51cbf5d719ee2d2451794 100644 (file)
@@ -61,9 +61,11 @@ ColourConversion::ColourConversion (double i, bool il, double const m[3][3], dou
        }
 }
 
-ColourConversion::ColourConversion (shared_ptr<cxml::Node> node)
+ColourConversion::ColourConversion (cxml::NodePtr node)
        : matrix (3, 3)
 {
+       LocaleGuard lg;
+       
        input_gamma = node->number_child<double> ("InputGamma");
        input_gamma_linearised = node->bool_child ("InputGammaLinearised");
 
@@ -73,8 +75,8 @@ ColourConversion::ColourConversion (shared_ptr<cxml::Node> node)
                }
        }
 
-       list<shared_ptr<cxml::Node> > m = node->node_children ("Matrix");
-       for (list<shared_ptr<cxml::Node> >::iterator i = m.begin(); i != m.end(); ++i) {
+       list<cxml::NodePtr> m = node->node_children ("Matrix");
+       for (list<cxml::NodePtr>::iterator i = m.begin(); i != m.end(); ++i) {
                int const ti = (*i)->number_attribute<int> ("i");
                int const tj = (*i)->number_attribute<int> ("j");
                matrix(ti, tj) = lexical_cast<double> ((*i)->content ());
@@ -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");
 
@@ -150,7 +154,7 @@ PresetColourConversion::PresetColourConversion (string n, double i, bool il, dou
 
 }
 
-PresetColourConversion::PresetColourConversion (shared_ptr<cxml::Node> node)
+PresetColourConversion::PresetColourConversion (cxml::NodePtr node)
        : conversion (node)
 {
        name = node->string_child ("Name");