From e4a914e26e7dfb30a5758b7e464738aeb48d72b4 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 5 Oct 2018 14:29:15 -0400 Subject: [PATCH] make remove work for transport masters (bug fix, really) --- gtk2_ardour/transport_masters_dialog.cc | 7 ++++--- libs/ardour/transport_master_manager.cc | 2 +- 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 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; -- 2.30.2