X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fport_set.cc;h=93fe54ed1c99807336ba609b3a04b8049c5adc80;hb=6cff31c8781c6a6c1b7a34253c19de8d5226aefb;hp=c7f5e2e674e7557cc1ca7eb3ce33a38dc0ce6a3e;hpb=fb45fdc052b23f4b2210c71a03a14bdb5986098a;p=ardour.git diff --git a/libs/ardour/port_set.cc b/libs/ardour/port_set.cc index c7f5e2e674..93fe54ed1c 100644 --- a/libs/ardour/port_set.cc +++ b/libs/ardour/port_set.cc @@ -92,7 +92,7 @@ PortSet::add (boost::shared_ptr port) sort(v.begin(), v.end(), sort_ports_by_name); sort(_all_ports.begin(), _all_ports.end(), sort_ports_by_type_and_name); - + _count.set(port->type(), _count.get(port->type()) + 1); assert(_count.get(port->type()) == _ports[port->type()].size()); } @@ -104,7 +104,7 @@ PortSet::remove (boost::shared_ptr port) if (i != _all_ports.end()) { _all_ports.erase(i); } - + for (std::vector::iterator l = _ports.begin(); l != _ports.end(); ++l) { PortVec::iterator i = find(l->begin(), l->end(), port); if (i != l->end()) { @@ -145,9 +145,11 @@ PortSet::port(DataType type, size_t n) const return port(n); } else { const PortVec& v = _ports[type]; - assert(n < v.size()); - return v[n]; + if (n < v.size()) { + return v[n]; + } } + return boost::shared_ptr(); } boost::shared_ptr