summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dialogs.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-07 04:18:23 +0200
committerRobin Gareus <robin@gareus.org>2013-07-07 04:18:23 +0200
commit3c6ff2f02f66eca9796cdc4ced5e39d91b4e22b7 (patch)
treea7244282065eb2ebb865bfd4d80c340c694b4075 /gtk2_ardour/ardour_ui_dialogs.cc
parent539e58bf5dc4ef3a815e6ef3d277c2ddd00284e5 (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.cc14
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 *)
{