diff options
author | Robin Gareus <robin@gareus.org> | 2014-10-27 21:15:39 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-10-27 21:15:39 +0100 |
commit | 8dc41bb7002d04aab21d551db8a1f48b43d36980 (patch) | |
tree | f6eb2ef02ff068c6a31963cd3cb61db8068a6a79 /gtk2_ardour/port_matrix.cc | |
parent | ec92524fe908621232156df7d5b8088631724653 (diff) |
fix potential crash at session close (when port-matrix is visible)
remove_aux_or_listen() -> PortMatrix::route_processors_changed()
-> setup_global_ports() -> PortGroupList::gather() -> crash
if some session ports were already removed.
Diffstat (limited to 'gtk2_ardour/port_matrix.cc')
-rw-r--r-- | gtk2_ardour/port_matrix.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc index 9a22ed97e6..bf9da544e6 100644 --- a/gtk2_ardour/port_matrix.cc +++ b/gtk2_ardour/port_matrix.cc @@ -610,6 +610,7 @@ PortMatrix::disassociate_all_on_channel (boost::weak_ptr<Bundle> bundle, uint32_ void PortMatrix::setup_global_ports () { + if (!_session || _session->deletion_in_progress()) return; ENSURE_GUI_THREAD (*this, &PortMatrix::setup_global_ports) for (int i = 0; i < 2; ++i) { |