summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-12-22 01:58:44 +0000
committerDavid Robillard <d@drobilla.net>2008-12-22 01:58:44 +0000
commit58897c948d3a5efc82940f00ae6d141398c61e6a (patch)
tree48d3530e77bb9111db4b23cefd57dc53d6b477fd
parent08062d9108ab428bc8e81ee0273eec20ff6cbb3b (diff)
downloadingen-58897c948d3a5efc82940f00ae6d141398c61e6a.tar.gz
ingen-58897c948d3a5efc82940f00ae6d141398c61e6a.tar.bz2
ingen-58897c948d3a5efc82940f00ae6d141398c61e6a.zip
Don't attempt to directly connect buffers with mismatches sizes on disconnect (fix ticket #309).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1900 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/engine/InputPort.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/engine/InputPort.cpp b/src/engine/InputPort.cpp
index e2247a45..cb2d9e02 100644
--- a/src/engine/InputPort.cpp
+++ b/src/engine/InputPort.cpp
@@ -161,7 +161,7 @@ InputPort::remove_connection(const OutputPort* src_port)
_buffers->at(i)->unjoin();
_buffers->at(i)->clear(); // Write silence
}
- } else if (modify_buffers && _connections.size() == 1) {
+ } else if (modify_buffers && _connections.size() == 1 && can_direct()) {
// Share a buffer
for (uint32_t i=0; i < _poly; ++i) {
_buffers->at(i)->join(_connections.front()->buffer(i));