allow UIConfiguration::color() to tell caller that it could not find the named color
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 11 Dec 2014 22:03:52 +0000 (17:03 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 11 Dec 2014 22:03:52 +0000 (17:03 -0500)
gtk2_ardour/ui_config.cc
gtk2_ardour/ui_config.h

index 127654990ffdfe139b9d6c7d19991ab62acd01d2..22ac72d240fdf9be353465e765d3699fcbb7f5cd 100644 (file)
@@ -634,10 +634,14 @@ UIConfiguration::base_color_by_name (const std::string& name) const
 }
 
 ArdourCanvas::Color
-UIConfiguration::color (const std::string& name) const
+UIConfiguration::color (const std::string& name, bool* failed) const
 {
        map<string,string>::const_iterator e = color_aliases.find (name);
 
+       if (failed) {
+               *failed = false;
+       }
+       
        if (e != color_aliases.end ()) {
                map<string,RelativeHSV>::const_iterator rc = relative_colors.find (e->second);
                if (rc != relative_colors.end()) {
@@ -652,6 +656,10 @@ UIConfiguration::color (const std::string& name) const
        }
        
        cerr << string_compose (_("Color %1 not found"), name) << endl;
+
+       if (failed) {
+               *failed = true;
+       }
        
        return rgba_to_color ((g_random_int()%256)/255.0,
                              (g_random_int()%256)/255.0,
index f72dc462898115141c078867edc7f368564636ee..c343da018b8a6136635f3365d3d6dd781bfd1546 100644 (file)
@@ -83,7 +83,7 @@ class UIConfiguration : public PBD::Stateful
        ArdourCanvas::Color quantized (ArdourCanvas::Color) const;
 
        ArdourCanvas::Color base_color_by_name (const std::string&) const;
-       ArdourCanvas::Color color (const std::string&) const;
+       ArdourCanvas::Color color (const std::string&, bool* failed = 0) const;
        ArdourCanvas::HSV  color_hsv (const std::string&) const;
 
         sigc::signal<void,std::string> ParameterChanged;