summaryrefslogtreecommitdiff
path: root/gtk2_ardour/window_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/window_manager.cc')
-rw-r--r--gtk2_ardour/window_manager.cc20
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)