diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-08 23:33:20 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-08 23:33:20 +0000 |
commit | 3145c3d8b9abebbc5c9bd4bd1202852c596a98da (patch) | |
tree | 87c7d1358c214d507d4d646907fc2aabdeda8b7c | |
parent | 0370943f029dbe33c92363a86138cb3f1b57baed (diff) |
fix presentation of plugin UI's2.0.1
git-svn-id: svn://localhost/ardour2/branches/2.0.1@1800 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/redirect_box.cc | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/gtk2_ardour/redirect_box.cc b/gtk2_ardour/redirect_box.cc index a120c271d1..a9baa02f9c 100644 --- a/gtk2_ardour/redirect_box.cc +++ b/gtk2_ardour/redirect_box.cc @@ -1066,7 +1066,12 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect) send_ui = reinterpret_cast<SendUIWindow *> (send->get_gui()); } - send_ui->present (); + if (send_ui->is_visible()) { + send_ui->get_window()->raise (); + } else { + send_ui->show_all (); + send_ui->present (); + } } else { @@ -1105,9 +1110,13 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect) } else { plugin_ui = reinterpret_cast<PluginUIWindow *> (plugin_insert->get_gui()); } - - plugin_ui->present (); - + + if (plugin_ui->is_visible()) { + plugin_ui->get_window()->raise (); + } else { + plugin_ui->show_all (); + plugin_ui->present (); + } #ifdef HAVE_AUDIOUNIT } else if (type == ARDOUR::AudioUnit) { AUPluginUI* plugin_ui; @@ -1117,7 +1126,12 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect) plugin_ui = reinterpret_cast<AUPluginUI*> (plugin_insert->get_gui()); } - plugin_ui->present (); + if (plugin_ui->is_visible()) { + plugin_ui->get_window()->raise (); + } else { + plugin_ui->show_all (); + plugin_ui->present (); + } #endif } else { warning << "Unsupported plugin sent to RedirectBox::edit_redirect()" << endmsg; @@ -1140,8 +1154,12 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect) } else { io_selector = reinterpret_cast<PortInsertWindow *> (port_insert->get_gui()); } - - io_selector->present (); + + if (io_selector->is_visible()) { + io_selector->get_window()->raise (); + } else { + io_selector->present (); + } } } } |