From fb2744d4265d26fb98b19689b50d127f32c66eab Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 14 Nov 2015 19:24:23 -0500 Subject: Clarify connect and disconnect logic --- src/server/events/Disconnect.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/server/events/Disconnect.cpp') diff --git a/src/server/events/Disconnect.cpp b/src/server/events/Disconnect.cpp index 13f419ce..43febed5 100644 --- a/src/server/events/Disconnect.cpp +++ b/src/server/events/Disconnect.cpp @@ -14,7 +14,7 @@ along with Ingen. If not, see . */ -#include +#include #include "ingen/Store.hpp" #include "raul/Maid.hpp" @@ -72,11 +72,13 @@ Disconnect::Impl::Impl(Engine& e, BlockImpl* const tail_block = _tail->parent_block(); BlockImpl* const head_block = _head->parent_block(); + // Remove tail from head's providers std::set::iterator hp = head_block->providers().find(tail_block); if (hp != head_block->providers().end()) { head_block->providers().erase(hp); } + // Remove head from tail's providers std::set::iterator td = tail_block->dependants().find(head_block); if (td != tail_block->dependants().end()) { tail_block->dependants().erase(td); @@ -173,8 +175,7 @@ Disconnect::pre_process() bool Disconnect::Impl::execute(ProcessContext& context, bool set_head_buffers) { - ArcImpl* const port_arc = - _head->remove_arc(context, _tail); + ArcImpl* const port_arc = _head->remove_arc(context, _tail); if (!port_arc) { return false; -- cgit v1.2.1