summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-12-11 17:03:52 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-12-11 17:03:52 -0500
commitbd430c2080e24e624495858552c217d7bc9101a6 (patch)
treefea511ff10fe85714b2fb8dedbbcc071c35a0d80
parent9278ae23c4e048093231ec8ac44da72b07684ec7 (diff)
allow UIConfiguration::color() to tell caller that it could not find the named color
-rw-r--r--gtk2_ardour/ui_config.cc10
-rw-r--r--gtk2_ardour/ui_config.h2
2 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index 127654990f..22ac72d240 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -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,
diff --git a/gtk2_ardour/ui_config.h b/gtk2_ardour/ui_config.h
index f72dc46289..c343da018b 100644
--- a/gtk2_ardour/ui_config.h
+++ b/gtk2_ardour/ui_config.h
@@ -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;