From 8cf0fe5c774847821601bdd80e8b020204c257ed Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 4 May 2024 19:54:20 +0200 Subject: [PATCH] Fix FPE when adding audio pins to a MIDI plugins --- gtk2_ardour/plugin_pin_dialog.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gtk2_ardour/plugin_pin_dialog.cc b/gtk2_ardour/plugin_pin_dialog.cc index 73c3d00c01..acce858f9f 100644 --- a/gtk2_ardour/plugin_pin_dialog.cc +++ b/gtk2_ardour/plugin_pin_dialog.cc @@ -1710,6 +1710,17 @@ PluginPinWidget::add_remove_port_clicked (bool add, ARDOUR::DataType dt) ChanCount ins, outs, src; _pi->configured_io (ins, outs); src = _pi->natural_output_streams (); + if (src.get (dt) == 0) { + if (!add || ins.get (dt) < out.get (dt)) { + return; + } + int pn = out.get (dt); + assert (pn > 0); + ChanMapping map (_pi->thru_map ()); + map.set (dt, pn - 1, pn - 1); + _pi->set_thru_map (map); + return; + } for (uint32_t i = n_before; i < outs.get (dt); ++i) { uint32_t pc = i / src.get (dt); uint32_t pn = i % src.get (dt);