diff --git a/gtk2_ardour/route_group_menu.cc b/gtk2_ardour/route_group_menu.cc index d569c5b5fc..db50a2725c 100644 --- a/gtk2_ardour/route_group_menu.cc +++ b/gtk2_ardour/route_group_menu.cc @@ -120,7 +120,9 @@ RouteGroupMenu::add_item (std::shared_ptr rg, std::setname())); RadioMenuItem* i = static_cast (&items.back ()); - i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteGroupMenu::set_group), i, rg)); + std::weak_ptr wg (rg); + + i->signal_activate().connect ([wg, i, this]() { std::shared_ptr g (wg.lock()); if (g) { set_group (i, g); }}); if (groups.size() == 1 && *groups.begin() == rg) { /* there's only one active group, and it's this one */