diff options
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index abfae95543..b54a7817c8 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -3087,7 +3087,7 @@ ProcessorBox::edit_processor (boost::shared_ptr<Processor> processor) if (proxy) { proxy->set_custom_ui_mode (true); - proxy->toggle (); + proxy->show_the_right_window (); } } @@ -3105,7 +3105,7 @@ ProcessorBox::generic_edit_processor (boost::shared_ptr<Processor> processor) if (proxy) { proxy->set_custom_ui_mode (false); - proxy->toggle (); + proxy->show_the_right_window (); } } @@ -3371,13 +3371,16 @@ ProcessorWindowProxy::get (bool create) } void -ProcessorWindowProxy::toggle () +ProcessorWindowProxy::show_the_right_window () { if (_window && (is_custom != want_custom)) { /* drop existing window - wrong type */ drop_window (); + get (true); + setup (); + assert (_window); + is_custom = want_custom; } - is_custom = want_custom; - WM::ProxyBase::toggle (); + toggle (); } |