diff --git a/gtk2_ardour/port_insert_ui.cc b/gtk2_ardour/port_insert_ui.cc index 99772003af..0b22f83d2a 100644 --- a/gtk2_ardour/port_insert_ui.cc +++ b/gtk2_ardour/port_insert_ui.cc @@ -339,4 +339,15 @@ PortInsertWindow::PortInsertWindow (Gtk::Window& parent, ARDOUR::Session* s, std { set_name ("IOSelectorWindow"); add (_portinsertui); + _portinsertui.show (); +} + + +PortInsertWindow::PortInsertWindow (ARDOUR::Session* s, std::shared_ptr pi) + : ArdourWindow (string_compose (_("Port Insert: %1"), pi->name ())) + , _portinsertui (this, s, pi) +{ + set_name ("IOSelectorWindow"); + add (_portinsertui); + _portinsertui.show (); } diff --git a/gtk2_ardour/port_insert_ui.h b/gtk2_ardour/port_insert_ui.h index 94aa08e41b..6538b7015b 100644 --- a/gtk2_ardour/port_insert_ui.h +++ b/gtk2_ardour/port_insert_ui.h @@ -91,6 +91,7 @@ class PortInsertWindow : public ArdourWindow { public: PortInsertWindow (Gtk::Window&, ARDOUR::Session*, std::shared_ptr); + PortInsertWindow (ARDOUR::Session*, std::shared_ptr); private: PortInsertUI _portinsertui; diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index fd741cd1aa..a4bcf1906b 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -3984,8 +3984,11 @@ ProcessorBox::get_editor_window (std::shared_ptr processor, bool use_ if (std::dynamic_pointer_cast (processor) == 0) { Gtk::Window* tlw = dynamic_cast (get_toplevel ()); - assert (tlw); - gidget = new SendUIWindow (*tlw, _session, send); + if (tlw) { + gidget = new SendUIWindow (*tlw, _session, send); + } else { + gidget = new SendUIWindow (_session, send); + } } } else if ((retrn = std::dynamic_pointer_cast (processor)) != 0) { @@ -4047,8 +4050,11 @@ ProcessorBox::get_editor_window (std::shared_ptr processor, bool use_ if (w == 0) { Gtk::Window* tlw = dynamic_cast (get_toplevel ()); - assert (tlw); - io_selector = new PortInsertWindow (*tlw, _session, port_insert); + if (tlw) { + io_selector = new PortInsertWindow (*tlw, _session, port_insert); + } else { + io_selector = new PortInsertWindow (_session, port_insert); + } set_processor_ui (port_insert, io_selector); } else { diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc index 194e67d33f..7448188179 100644 --- a/gtk2_ardour/send_ui.cc +++ b/gtk2_ardour/send_ui.cc @@ -159,3 +159,12 @@ SendUIWindow::SendUIWindow (Gtk::Window& parent, ARDOUR::Session* session, std:: add (_ui); _ui.show (); } + +SendUIWindow::SendUIWindow (ARDOUR::Session* session, std::shared_ptr send) + : ArdourWindow (string_compose (_("Send: %1"), send->name ())) + , _ui (this, session, send) +{ + set_name ("SendUIWindow"); + add (_ui); + _ui.show (); +} diff --git a/gtk2_ardour/send_ui.h b/gtk2_ardour/send_ui.h index 7fbf6b9acd..bf29179c84 100644 --- a/gtk2_ardour/send_ui.h +++ b/gtk2_ardour/send_ui.h @@ -65,6 +65,7 @@ class SendUIWindow : public ArdourWindow { public: SendUIWindow (Gtk::Window&, ARDOUR::Session*, std::shared_ptr); + SendUIWindow (ARDOUR::Session*, std::shared_ptr); private: SendUI _ui;