From 664a2b4a8eade99dd69fd63770afb896c434e2be Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 20 Aug 2025 22:25:58 +0200 Subject: [PATCH] Amend c6a49fdd503 drop automation actions This fixes a crash when showing the same Pianoroll again, since actions a already present, a NULL reference was pushed to session_sensitive_actions. Closing a session then crashed accessing a NULL Action. --- gtk2_ardour/editing_context.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk2_ardour/editing_context.cc b/gtk2_ardour/editing_context.cc index c700595871..23623016f6 100644 --- a/gtk2_ardour/editing_context.cc +++ b/gtk2_ardour/editing_context.cc @@ -288,6 +288,7 @@ EditingContext::~EditingContext() ActionManager::drop_action_group (channel_actions); ActionManager::drop_action_group (velocity_actions); ActionManager::drop_action_group (zoom_actions); + ActionManager::drop_action_group (_automation_actions); } void @@ -2596,6 +2597,7 @@ RefPtr EditingContext::reg_sens (RefPtr group, char const * name, char const * label, sigc::slot slot) { RefPtr act = ActionManager::register_action (group, name, label, slot); + assert(act); ActionManager::session_sensitive_actions.push_back (act); return act; } @@ -2604,6 +2606,7 @@ Glib::RefPtr EditingContext::toggle_reg_sens (RefPtr group, char const * name, char const * label, sigc::slot slot) { RefPtr act = ActionManager::register_toggle_action (group, name, label, slot); + assert(act); ActionManager::session_sensitive_actions.push_back (act); return act; } @@ -2612,6 +2615,7 @@ Glib::RefPtr EditingContext::radio_reg_sens (RefPtr action_group, RadioAction::Group& radio_group, char const * name, char const * label, sigc::slot slot) { RefPtr act = ActionManager::register_radio_action (action_group, radio_group, name, label, slot); + assert(act); ActionManager::session_sensitive_actions.push_back (act); return act; }