diff options
author | Robin Gareus <robin@gareus.org> | 2014-09-11 19:29:55 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-09-11 19:30:33 +0200 |
commit | f3f80900f14ae8f8d577f3eb098b5064d4aa0859 (patch) | |
tree | 9be39cf41986f10a099a324b916631c83f8b2c69 /libs/ardour/session.cc | |
parent | 01974b576995b8a67158fb3d416a1ca8ca224cfd (diff) |
fix crash at session close/exit if a midi-control-surface is used
The "real" problem was that MidiControlUI is destroyed
while there are still MIDIControllables around that
still have a signal connection to a Controllable:
controllable->Destroyed(..., MidiControlUI::instance())
If a Contrallable is deleted after the MidiControlUI
event loop is gone, the Destroyed() signal can create odd
situations...
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index dba519f660..5bc609356a 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -490,7 +490,6 @@ Session::destroy () delete _butler; _butler = 0; - delete midi_control_ui; delete _all_route_group; DEBUG_TRACE (DEBUG::Destruction, "delete route groups\n"); @@ -567,6 +566,7 @@ Session::destroy () playlists.reset (); delete _scene_changer; _scene_changer = 0; + delete midi_control_ui; midi_control_ui = 0; delete _mmc; _mmc = 0; delete _midi_ports; _midi_ports = 0; |