From 10200f5e29e946fbb133500f279fdb0cd2932e6b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 13 May 2020 17:55:09 +0200 Subject: Fix crash when closing session with VCA slaved solo Session::destroy() calls drop_references(), which leads to InternalSend::send_from_going_away() calling InternalSend::propagate_solo(). This looks up the SoloControl to test soloed_by_others(), incl. and VCA maters. Those VCAs however may already have been destroyed, and (weak pointer) _master.lock() fails. --- libs/ardour/internal_send.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libs') diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc index d93e61e1ac..b5b1ead7ab 100644 --- a/libs/ardour/internal_send.cc +++ b/libs/ardour/internal_send.cc @@ -83,6 +83,9 @@ InternalSend::~InternalSend () void InternalSend::propagate_solo () { + if (_session.inital_connect_or_deletion_in_progress ()) { + return; + } if (!_send_to || !_send_from) { return; } -- cgit v1.2.3