From d23bcd1685b52cc0cde3a4e87b884ff4d24976a4 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 18 Dec 2025 03:37:59 +0100 Subject: [PATCH] Fix crash when repeatedly showing group menu route_group_menu needs to be detached before TimeAxisView::build_display_menu () deletes and recreates the parent menu. --- gtk2_ardour/route_group_menu.cc | 1 + gtk2_ardour/route_time_axis.cc | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/route_group_menu.cc b/gtk2_ardour/route_group_menu.cc index 5b83ed6bf7..c0d707ec7a 100644 --- a/gtk2_ardour/route_group_menu.cc +++ b/gtk2_ardour/route_group_menu.cc @@ -47,6 +47,7 @@ RouteGroupMenu::RouteGroupMenu (Session* s, PropertyList* plist) RouteGroupMenu::~RouteGroupMenu() { + detach (); delete _menu; delete _default_properties; } diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 99868e21c2..24201dab7a 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -627,6 +627,10 @@ RouteTimeAxisView::build_display_menu () detach_menu (*automation_action_menu); } + if (route_group_menu) { + route_group_menu->detach (); + } + TimeAxisView::build_display_menu (); bool active = _route->active (); @@ -812,7 +816,6 @@ RouteTimeAxisView::build_display_menu () } if (!_route->is_singleton ()) { - route_group_menu->detach (); route_group_menu->build (r); items.push_back (MenuElem (_("Group"), *route_group_menu->menu ())); }