diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_button.cc | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc index f4dbc830f6..5a13dd751f 100644 --- a/gtk2_ardour/ardour_button.cc +++ b/gtk2_ardour/ardour_button.cc @@ -662,15 +662,28 @@ ArdourButton::set_colors () return; } std::string name = get_name(); + bool failed = false; - fill_active_color = ARDOUR_UI::config()->color (string_compose ("%1: fill active", name)); - fill_inactive_color = ARDOUR_UI::config()->color (string_compose ("%1: fill", name)); + fill_active_color = ARDOUR_UI::config()->color (string_compose ("%1: fill active", name), &failed); + if (failed) { + fill_active_color = ARDOUR_UI::config()->color ("generic button: fill active"); + } + fill_inactive_color = ARDOUR_UI::config()->color (string_compose ("%1: fill", name), &failed); + if (failed) { + fill_inactive_color = ARDOUR_UI::config()->color ("generic button: fill"); + } text_active_color = ArdourCanvas::contrasting_text_color (fill_active_color); text_inactive_color = ArdourCanvas::contrasting_text_color (fill_inactive_color); - led_active_color = ARDOUR_UI::config()->color (string_compose ("%1: led active", name)); - led_inactive_color = ARDOUR_UI::config()->color (string_compose ("%1: led", name)); + led_active_color = ARDOUR_UI::config()->color (string_compose ("%1: led active", name), &failed); + if (failed) { + led_active_color = ARDOUR_UI::config()->color ("generic button: led active"); + } + led_inactive_color = ARDOUR_UI::config()->color (string_compose ("%1: led", name), &failed); + if (failed) { + led_inactive_color = ARDOUR_UI::config()->color ("generic button: led"); + } } /** |