diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-11-04 23:41:52 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-11-04 23:41:52 +0000 |
commit | 204d840c43445745942eb834c120cbeaff77809e (patch) | |
tree | a7e3f08259a9098132b688a14c1af259799fa2aa /gtk2_ardour/ardour_ui_dialogs.cc | |
parent | 0ede2d0088d6ffdbde8a2c9ec40c457e98bdabe9 (diff) |
a variety of fixes aimed at preventing crashes caused by the (global) port matrix (window) not really noticing that the session has gone away
git-svn-id: svn://localhost/ardour2/branches/3.0@13378 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_dialogs.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui_dialogs.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 0116f4e842..02c72d7230 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -62,6 +62,13 @@ ARDOUR_UI::set_session (Session *s) { SessionHandlePtr::set_session (s); + for (ARDOUR::DataType::iterator i = ARDOUR::DataType::begin(); i != ARDOUR::DataType::end(); ++i) { + GlobalPortMatrixWindow* w; + if ((w = _global_port_matrix[*i]->get()) != 0) { + w->set_session (s); + } + } + if (!_session) { return; } |