From f719dcbd4311fa7e57b3905d4ecd61ce48c572f0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 22 Apr 2016 23:36:41 +0200 Subject: [PATCH] fix send-id "0" when loading session Send::set_state() unsets the current send-id before setting the new one, but by default _bitset defaults to zero. This may lead to unset an existing send "0" --- libs/ardour/session.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 1fcd219e95..b6cc258fa7 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -5491,7 +5491,7 @@ Session::next_insert_id () /* this doesn't really loop forever. just think about it */ while (true) { - for (boost::dynamic_bitset::size_type n = 0; n < insert_bitset.size(); ++n) { + for (boost::dynamic_bitset::size_type n = 1; n < insert_bitset.size(); ++n) { if (!insert_bitset[n]) { insert_bitset[n] = true; return n; @@ -5511,7 +5511,7 @@ Session::next_send_id () /* this doesn't really loop forever. just think about it */ while (true) { - for (boost::dynamic_bitset::size_type n = 0; n < send_bitset.size(); ++n) { + for (boost::dynamic_bitset::size_type n = 1; n < send_bitset.size(); ++n) { if (!send_bitset[n]) { send_bitset[n] = true; return n; @@ -5531,7 +5531,7 @@ Session::next_aux_send_id () /* this doesn't really loop forever. just think about it */ while (true) { - for (boost::dynamic_bitset::size_type n = 0; n < aux_send_bitset.size(); ++n) { + for (boost::dynamic_bitset::size_type n = 1; n < aux_send_bitset.size(); ++n) { if (!aux_send_bitset[n]) { aux_send_bitset[n] = true; return n; @@ -5551,7 +5551,7 @@ Session::next_return_id () /* this doesn't really loop forever. just think about it */ while (true) { - for (boost::dynamic_bitset::size_type n = 0; n < return_bitset.size(); ++n) { + for (boost::dynamic_bitset::size_type n = 1; n < return_bitset.size(); ++n) { if (!return_bitset[n]) { return_bitset[n] = true; return n;