keep latency dialog for plugins above the plugin GUI
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 22 Jun 2012 16:38:15 +0000 (16:38 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 22 Jun 2012 16:38:15 +0000 (16:38 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@12820 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/plugin_ui.cc

index c7c75a9b247a0d7d37051d891ac8661ee9edc9f8..2acdf7d967656479e6a1aed5fc5839fe847ff0df 100644 (file)
@@ -558,6 +558,15 @@ PlugUIBase::latency_button_clicked ()
        if (!latency_gui) {
                latency_gui = new LatencyGUI (*(insert.get()), insert->session().frame_rate(), insert->session().get_block_size());
                latency_dialog = new ArdourWindow (_("Edit Latency"));
+               latency_dialog->set_position (WIN_POS_MOUSE);
+               /* use both keep-above and transient for to try cover as many
+                  different WM's as possible.
+               */
+               latency_dialog->set_keep_above (true);
+               Window* win = dynamic_cast<Window*> (bypass_button.get_toplevel ());
+               if (win) {
+                       latency_dialog->set_transient_for (*win);
+               }
                latency_dialog->add (*latency_gui);
                latency_dialog->signal_hide().connect (sigc::mem_fun (*this, &PlugUIBase::set_latency_label));
        }