diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-07 04:18:23 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-07 04:18:23 +0200 |
commit | 3c6ff2f02f66eca9796cdc4ced5e39d91b4e22b7 (patch) | |
tree | a7244282065eb2ebb865bfd4d80c340c694b4075 /gtk2_ardour/ardour_ui_dialogs.cc | |
parent | 539e58bf5dc4ef3a815e6ef3d277c2ddd00284e5 (diff) |
fix/workaround window-proxy session-management
The window proxy defers construction of classes.
set_session() is called before the instances are available.
the proxy-manager only calls set_session() for SessionHandlePtr
but not the class-specific method..
fixes http://tracker.ardour.org/view.php?id=5566
Diffstat (limited to 'gtk2_ardour/ardour_ui_dialogs.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui_dialogs.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 02b1efaa2e..a8ff6305a2 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -73,6 +73,9 @@ ARDOUR_UI::set_session (Session *s) midi_port_matrix->set_session (s); } + if (route_params) { + route_params->set_session (s); + } if (!_session) { /* Session option editor cannot exist across change-of-session */ @@ -222,6 +225,9 @@ ARDOUR_UI::unload_session (bool hide_stuff) editor->hide (); mixer->hide (); theme_manager->hide (); + audio_port_matrix->hide(); + midi_port_matrix->hide(); + route_params->hide(); } second_connection.disconnect (); @@ -447,6 +453,14 @@ ARDOUR_UI::create_big_clock_window () return new BigClockWindow (*big_clock); } +RouteParams_UI* +ARDOUR_UI::create_route_params_window () +{ + RouteParams_UI *rv = new RouteParams_UI (); + rv->set_session(_session); + return rv; +} + void ARDOUR_UI::handle_locations_change (Location *) { |