diff options
author | Robin Gareus <robin@gareus.org> | 2017-08-03 18:43:12 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-03 19:25:14 +0200 |
commit | d0c934a9de31df9ea0f6046fa074ea9fe17e8b07 (patch) | |
tree | c9ce0b7f8ad5e363f3bd35eafd602aaa07af1d7c /libs/ardour/globals.cc | |
parent | 81f12f602bf40b3801b1bb9162fd0737ecc6782d (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.cc | 2 |
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 |