diff --git a/gtk2_ardour/loudness_dialog.cc b/gtk2_ardour/loudness_dialog.cc index 0a131522b9..6b8793c3a3 100644 --- a/gtk2_ardour/loudness_dialog.cc +++ b/gtk2_ardour/loudness_dialog.cc @@ -110,6 +110,9 @@ LoudnessDialog::LoudnessDialog (Session* s, AudioRange const& ar, bool as) , _ignore_preset (false) , _ignore_change (false) { + /* Dialog can be displayed from the mixer, override global transient_parent */ + unset_transient_for (); + /* query initial gain */ _gain_out = accurate_coefficient_to_dB (_session->master_volume()->get_value()); diff --git a/gtk2_ardour/plugin_pin_dialog.cc b/gtk2_ardour/plugin_pin_dialog.cc index 2fb8d63dfe..6cd353f5dd 100644 --- a/gtk2_ardour/plugin_pin_dialog.cc +++ b/gtk2_ardour/plugin_pin_dialog.cc @@ -2004,6 +2004,7 @@ PluginPinDialog::PluginPinDialog (boost::shared_ptr pi) { ppw.push_back (PluginPinWidgetPtr(new PluginPinWidget (pi))); add (*ppw.back()); + unset_transient_for (); } diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index 8132db5341..45081c93b2 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -189,6 +189,7 @@ PluginUIWindow::PluginUIWindow ( set_border_width (0); set_default_size (w, h); set_resizable (_pluginui->resizable()); + unset_transient_for (); } PluginUIWindow::~PluginUIWindow () diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index d963cf48d7..10efac724d 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -4279,11 +4279,12 @@ ProcessorBox::manage_pins (boost::shared_ptr processor) PluginPinWindowProxy* proxy = processor->pinmgr_proxy (); if (proxy) { proxy->get (true); - proxy->present(); Gtk::Window* tlw = dynamic_cast (get_toplevel ()); assert (tlw); proxy->get ()->set_transient_for (*tlw); + + proxy->present(); } } @@ -4568,12 +4569,11 @@ ProcessorWindowProxy::show_the_right_window (bool show_not_toggle) if (_window && fully_visible () && show_not_toggle) { return; } - toggle (); if (_window) { - /* clear any transients if window is toggled externally (ctrl surfaces) */ _window->unset_transient_for (); } + toggle (); }