diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index 4c17923abe..455cea1364 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -89,6 +89,11 @@ PluginUIWindow::PluginUIWindow ( : parent (win) , was_visible (false) , _keyboard_focused (false) +#ifdef AUDIOUNIT_SUPPORT + , pre_deactivate_x (-1) + , pre_deactivate_y (-1) +#endif + { bool have_gui = false; @@ -341,11 +346,15 @@ PluginUIWindow::app_activated (bool) if (yn) { if (was_visible) { _pluginui->activate (); + if (pre_deactivate_x >= 0) { + move (pre_deactivate_x, pre_deactivate_y); + } present (); was_visible = true; } } else { was_visible = is_visible(); + get_position (pre_deactivate_x, pre_deactivate_y); hide (); _pluginui->deactivate (); } @@ -783,3 +792,4 @@ PlugUIBase::preset_added_or_removed () update_preset_list (); update_preset (); } + diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index a65fd1a223..6b886cf268 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -312,6 +312,11 @@ class PluginUIWindow : public Gtk::Window Gtk::VBox vbox; bool was_visible; bool _keyboard_focused; +#ifdef AUDIOUNIT_SUPPORT + int pre_deactivate_x; + int pre_deactivate_y; +#endif + void keyboard_focused (bool yn); void app_activated (bool);