From 0d5705d096a27cb561c4bbdd601315d3ee13811a Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 29 Feb 2016 16:10:31 -0500 Subject: [PATCH] reorder destruction of VCAManager and Routes --- libs/ardour/session.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 4ff42730ca..b9dbaa72fd 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -696,6 +696,11 @@ Session::destroy () DEBUG_TRACE (DEBUG::Destruction, "delete regions\n"); RegionFactory::delete_all_regions (); + /* Do this early so that VCAs no longer hold references to routes */ + + DEBUG_TRACE (DEBUG::Destruction, "delete vcas\n"); + delete _vca_manager; + DEBUG_TRACE (DEBUG::Destruction, "delete routes\n"); /* reset these three references to special routes before we do the usual route delete thing */ @@ -748,7 +753,6 @@ Session::destroy () delete midi_clock; delete _tempo_map; - delete _vca_manager; /* clear event queue, the session is gone, nobody is interested in * those anymore, but they do leak memory if not removed