From e7b2f7ee286350bc3bb56b44ed98e4d8bf49af82 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 13 Dec 2016 20:53:58 -0500 Subject: Fix real-time issues with buffer allocation --- src/server/events/Disconnect.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/server/events/Disconnect.cpp') diff --git a/src/server/events/Disconnect.cpp b/src/server/events/Disconnect.cpp index 8875eb0c..3233cac4 100644 --- a/src/server/events/Disconnect.cpp +++ b/src/server/events/Disconnect.cpp @@ -90,10 +90,9 @@ Disconnect::Impl::Impl(Engine& e, if (_head->num_arcs() == 0) { if (!_head->is_driver_port()) { _voices = new Raul::Array(_head->poly()); - _head->get_buffers(*_engine.buffer_factory(), - _voices, - _head->poly(), - false); + _head->pre_get_buffers(*_engine.buffer_factory(), + _voices, + _head->poly()); if (_head->is_a(PortType::CONTROL) || _head->is_a(PortType::CV)) { @@ -189,9 +188,7 @@ Disconnect::Impl::execute(RunContext& context, bool set_head_buffers) if (_voices) { _engine.maid()->dispose(_head->set_voices(context, _voices)); } else { - _head->setup_buffers(*_engine.buffer_factory(), - _head->poly(), - true); + _head->setup_buffers(context, *_engine.buffer_factory(), _head->poly()); } _head->connect_buffers(); } else { -- cgit v1.2.1