diff options
-rw-r--r-- | gtk2_ardour/global_port_matrix.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/io_selector.cc | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/global_port_matrix.cc b/gtk2_ardour/global_port_matrix.cc index 5f5f8d64c3..bc63237244 100644 --- a/gtk2_ardour/global_port_matrix.cc +++ b/gtk2_ardour/global_port_matrix.cc @@ -77,9 +77,11 @@ GlobalPortMatrix::get_state (ARDOUR::BundleChannel c[2]) const ARDOUR::Bundle::PortList const & in_ports = c[IN].bundle->channel_ports (c[IN].channel); ARDOUR::Bundle::PortList const & out_ports = c[OUT].bundle->channel_ports (c[OUT].channel); if (in_ports.empty() || out_ports.empty()) { - return NOT_ASSOCIATED; + /* we're looking at a bundle with no parts associated with this channel, + so nothing to connect */ + return UNKNOWN; } - + for (ARDOUR::Bundle::PortList::const_iterator i = in_ports.begin(); i != in_ports.end(); ++i) { for (ARDOUR::Bundle::PortList::const_iterator j = out_ports.begin(); j != out_ports.end(); ++j) { diff --git a/gtk2_ardour/io_selector.cc b/gtk2_ardour/io_selector.cc index e868a6ad2b..f31a2a7d3c 100644 --- a/gtk2_ardour/io_selector.cc +++ b/gtk2_ardour/io_selector.cc @@ -118,6 +118,12 @@ IOSelector::get_state (ARDOUR::BundleChannel c[2]) const ARDOUR::Bundle::PortList const & our_ports = c[_ours].bundle->channel_ports (c[_ours].channel); ARDOUR::Bundle::PortList const & other_ports = c[_other].bundle->channel_ports (c[_other].channel); + if (our_ports.empty() || other_ports.empty()) { + /* we're looking at a bundle with no parts associated with this channel, + so nothing to connect */ + return UNKNOWN; + } + for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) { for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) { |