summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-03-02 19:18:30 +0100
committerRobin Gareus <robin@gareus.org>2020-03-02 19:18:59 +0100
commite79b762daa2579d25c5d194e832cd1655d84dfa2 (patch)
treee4c88ee730a97fcee024affa116617f7c9861c02 /gtk2_ardour/route_ui.cc
parent6120d4d43a4a5ff96126ec9093ab652105717ed2 (diff)
Micro-optimization: only recreate polarity buttons as needed
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r--gtk2_ardour/route_ui.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index e1b9da4b89..7d9c10e29f 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -2009,6 +2009,13 @@ RouteUI::parameter_changed (string const & p)
void
RouteUI::setup_invert_buttons ()
{
+ uint32_t const N = _route ? _route->phase_control()->size() : 0;
+
+ if (_n_polarity_invert == N) {
+ return;
+ }
+ _n_polarity_invert = N;
+
/* remove old invert buttons */
for (vector<ArdourButton*>::iterator i = _invert_buttons.begin(); i != _invert_buttons.end(); ++i) {
_invert_button_box.remove (**i);
@@ -2016,11 +2023,10 @@ RouteUI::setup_invert_buttons ()
_invert_buttons.clear ();
- if (!_route) {
+ if (N == 0) {
return;
}
- uint32_t const N = _route->phase_control()->size();
uint32_t const to_add = (N <= _max_invert_buttons) ? N : 1;
for (uint32_t i = 0; i < to_add; ++i) {