summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-10-05 14:29:15 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2018-10-05 14:29:15 -0400
commite4a914e26e7dfb30a5758b7e464738aeb48d72b4 (patch)
tree23848f5fddbdb9198a292127cb1fa67cb708c90b
parente2be5b7b02a9e4c234f3a00d985d913e15aad1d7 (diff)
make remove work for transport masters (bug fix, really)
-rw-r--r--gtk2_ardour/transport_masters_dialog.cc7
-rw-r--r--libs/ardour/transport_master_manager.cc2
2 files changed, 5 insertions, 4 deletions
diff --git a/gtk2_ardour/transport_masters_dialog.cc b/gtk2_ardour/transport_masters_dialog.cc
index ac2066ceba..027d98964c 100644
--- a/gtk2_ardour/transport_masters_dialog.cc
+++ b/gtk2_ardour/transport_masters_dialog.cc
@@ -83,6 +83,8 @@ TransportMastersWidget::TransportMastersWidget ()
table.set_spacings (6);
TransportMasterManager::instance().CurrentChanged.connect (current_connection, invalidator (*this), boost::bind (&TransportMastersWidget::current_changed, this, _1, _2), gui_context());
+ TransportMasterManager::instance().Added.connect (current_connection, invalidator (*this), boost::bind (&TransportMastersWidget::rebuild, this), gui_context());
+ TransportMasterManager::instance().Removed.connect (current_connection, invalidator (*this), boost::bind (&TransportMastersWidget::rebuild, this), gui_context());
rebuild ();
}
@@ -114,9 +116,7 @@ TransportMastersWidget::current_changed (boost::shared_ptr<TransportMaster> old_
void
TransportMastersWidget::add_master ()
{
- if (!TransportMasterManager::instance().add (LTC, "new ltc")) {
- rebuild ();
- }
+ TransportMasterManager::instance().add (LTC, "new ltc");
}
void
@@ -247,6 +247,7 @@ TransportMastersWidget::Row::name_press (GdkEventButton* ev)
void
TransportMastersWidget::Row::remove_clicked ()
{
+ TransportMasterManager::instance().remove (tm->name());
}
void
diff --git a/libs/ardour/transport_master_manager.cc b/libs/ardour/transport_master_manager.cc
index 7912b82218..0ac3bbfca2 100644
--- a/libs/ardour/transport_master_manager.cc
+++ b/libs/ardour/transport_master_manager.cc
@@ -359,7 +359,7 @@ TransportMasterManager::remove (std::string const & name)
for (TransportMasters::iterator t = _transport_masters.begin(); t != _transport_masters.end(); ++t) {
if ((*t)->name() == name) {
- if (!tm->removeable()) {
+ if (!(*t)->removeable()) {
return -1;
}
tm = *t;