summaryrefslogtreecommitdiff
path: root/libs/ardour/globals.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-03 18:43:12 +0200
committerRobin Gareus <robin@gareus.org>2017-08-03 19:25:14 +0200
commitd0c934a9de31df9ea0f6046fa074ea9fe17e8b07 (patch)
treec9ce0b7f8ad5e363f3bd35eafd602aaa07af1d7c /libs/ardour/globals.cc
parent81f12f602bf40b3801b1bb9162fd0737ecc6782d (diff)
Fix crash when cleaning up w/o destroying session
- Control-protocols may transmit data during cleanup (e.g. reset surface), and need the Audio-engine to do so. - destroying the ControlProtocolManager w/o the Session calling ::drop_protocols(), lead to a double free.
Diffstat (limited to 'libs/ardour/globals.cc')
-rw-r--r--libs/ardour/globals.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 28eb818921..00d448985f 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -597,13 +597,13 @@ ARDOUR::cleanup ()
return;
}
+ delete &ControlProtocolManager::instance();
ARDOUR::AudioEngine::destroy ();
delete Library;
#ifdef HAVE_LRDF
lrdf_cleanup ();
#endif
- delete &ControlProtocolManager::instance();
#ifdef WINDOWS_VST_SUPPORT
fst_exit ();
#endif