From a22e20133d0b5c1678fb41416f74283a93ab208f Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 7 Jul 2013 17:44:00 +0200 Subject: make window-manager session-aware --- gtk2_ardour/window_manager.cc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'gtk2_ardour/window_manager.cc') diff --git a/gtk2_ardour/window_manager.cc b/gtk2_ardour/window_manager.cc index 730668d7e4..d15028ac13 100644 --- a/gtk2_ardour/window_manager.cc +++ b/gtk2_ardour/window_manager.cc @@ -52,6 +52,10 @@ Manager::Manager () { } +Manager::~Manager () +{ +} + void Manager::register_window (ProxyBase* info) { @@ -120,11 +124,9 @@ Manager::add_state (XMLNode& root) const void Manager::set_session (ARDOUR::Session* s) { + SessionHandlePtr::set_session (s); for (Windows::const_iterator i = _windows.begin(); i != _windows.end(); ++i) { - ARDOUR::SessionHandlePtr* sp = (*i)->session_handle (); - if (sp) { - sp->set_session (s); - } + (*i)->set_session(s); } } @@ -358,6 +360,7 @@ ProxyBase::setup () if (_x_off != -1 && _y_off != -1) { _window->move (_x_off, _y_off); } + set_session(_session); } void @@ -404,6 +407,13 @@ ProxyBase::hide () } } +bool +ProxyBase::handle_win_event (GdkEventAny *ev) +{ + save_pos_and_size(); + return 0; +} + void ProxyBase::save_pos_and_size () { @@ -422,6 +432,7 @@ ProxyTemporary::~ProxyTemporary () { } + ARDOUR::SessionHandlePtr* ProxyTemporary::session_handle() { -- cgit v1.2.3