diff options
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 48eeae7774..e5a4b01fd1 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -716,22 +716,27 @@ Route::set_solo_isolated (bool yn, void *src) /* XXX should we back-propagate as well? (April 2010: myself and chris goddard think not) */ + bool changed = false; + if (yn) { if (_solo_isolated == 0) { _mute_master->set_solo_ignore (true); + changed = true; } _solo_isolated++; - solo_isolated_changed (src); } else { if (_solo_isolated > 0) { _solo_isolated--; if (_solo_isolated == 0) { _mute_master->set_solo_ignore (false); + changed = true; } - solo_isolated_changed (src); } } + if (changed) { + solo_isolated_changed (src); + } } bool |