diff options
Diffstat (limited to 'gtk2_ardour/window_manager.cc')
-rw-r--r-- | gtk2_ardour/window_manager.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gtk2_ardour/window_manager.cc b/gtk2_ardour/window_manager.cc index cb63f4f822..627e9a1744 100644 --- a/gtk2_ardour/window_manager.cc +++ b/gtk2_ardour/window_manager.cc @@ -112,6 +112,26 @@ WindowManager::set_session (ARDOUR::Session* s) } } +void +WindowManager::set_transient_for (Gtk::Window* parent) +{ + if (parent) { + for (Windows::const_iterator i = _windows.begin(); i != _windows.end(); ++i) { + Gtk::Window* win = (*i)->get(); + if (win) { + win->set_transient_for (*parent); + } + } + } else { + for (Windows::const_iterator i = _windows.begin(); i != _windows.end(); ++i) { + Gtk::Window* win = (*i)->get(); + if (win) { + gtk_window_set_transient_for (win->gobj(), 0); + } + } + } +} + /*-----------------------*/ WindowManager::ProxyBase::ProxyBase (const string& name, const std::string& menu_name) |