diff options
author | Robin Gareus <robin@gareus.org> | 2013-05-19 02:28:36 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-05-19 02:28:36 +0200 |
commit | 1acf8bdc674ac0ebfd5fc39885c7fe9e70840960 (patch) | |
tree | 6d17b29e7177a3a38be2b43eedf60ae81173b5c1 /gtk2_ardour/processor_box.cc | |
parent | 126d592e8a2be72a1f7340ed70400e6a1d1e722b (diff) |
Restore 'Edit with basic controls' plugin UI functionality.
Regression was introduced in 40944574c
Compared to before 40944574c it is no longer possible to have
both custom and basic open at the same time.
On the upside window stacking and raise-to-top works properly.
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 2782d2cff8..9ac57a356c 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -2040,7 +2040,7 @@ ProcessorBox::one_processor_can_be_edited () } Gtk::Window* -ProcessorBox::get_editor_window (boost::shared_ptr<Processor> processor) +ProcessorBox::get_editor_window (boost::shared_ptr<Processor> processor, bool use_custom) { boost::shared_ptr<Send> send; boost::shared_ptr<InternalSend> internal_send; @@ -2119,8 +2119,7 @@ ProcessorBox::get_editor_window (boost::shared_ptr<Processor> processor) Window* w = get_processor_ui (plugin_insert); if (w == 0) { - - plugin_ui = new PluginUIWindow (plugin_insert, false, Config->get_use_plugin_own_gui()); + plugin_ui = new PluginUIWindow (plugin_insert, false, use_custom); plugin_ui->set_title (generate_processor_title (plugin_insert)); set_processor_ui (plugin_insert, plugin_ui); @@ -2438,6 +2437,7 @@ ProcessorBox::edit_processor (boost::shared_ptr<Processor> processor) ProcessorWindowProxy* proxy = find_window_proxy (processor); if (proxy) { + proxy->set_custom_ui_mode (Config->get_use_plugin_own_gui ()); proxy->toggle (); } } @@ -2452,6 +2452,7 @@ ProcessorBox::generic_edit_processor (boost::shared_ptr<Processor> processor) ProcessorWindowProxy* proxy = find_window_proxy (processor); if (proxy) { + proxy->set_custom_ui_mode (false); proxy->toggle (); } } @@ -2629,6 +2630,7 @@ ProcessorWindowProxy::ProcessorWindowProxy (string const & name, ProcessorBox* b , _processor_box (box) , _processor (processor) , is_custom (false) + , want_custom (false) { } @@ -2648,8 +2650,7 @@ ProcessorWindowProxy::get (bool create) if (!p) { return 0; } - - if (_window && (is_custom != Config->get_use_plugin_own_gui ())) { + if (_window && (is_custom != want_custom)) { /* drop existing window - wrong type */ drop_window (); } @@ -2659,8 +2660,8 @@ ProcessorWindowProxy::get (bool create) return 0; } - _window = _processor_box->get_editor_window (p); - is_custom = Config->get_use_plugin_own_gui(); + is_custom = want_custom; + _window = _processor_box->get_editor_window (p, is_custom); if (_window) { setup (); @@ -2673,10 +2674,11 @@ ProcessorWindowProxy::get (bool create) void ProcessorWindowProxy::toggle () { - if (_window && (is_custom != Config->get_use_plugin_own_gui ())) { + if (_window && (is_custom != want_custom)) { /* drop existing window - wrong type */ drop_window (); } + is_custom = want_custom; WM::ProxyBase::toggle (); } |