From e89902e35e31977bfc310eb735aa57494a073eeb Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 25 Jul 2012 23:18:56 +0000 Subject: Make compile_recursive private to PatchImpl.cpp. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4553 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/PatchImpl.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/server/PatchImpl.cpp') diff --git a/src/server/PatchImpl.cpp b/src/server/PatchImpl.cpp index de1fe43f..95bb2132 100644 --- a/src/server/PatchImpl.cpp +++ b/src/server/PatchImpl.cpp @@ -424,6 +424,23 @@ PatchImpl::build_ports_array() const return result; } +static inline void +compile_recursive(NodeImpl* n, CompiledPatch* output) +{ + if (n == NULL || n->traversed()) + return; + + n->traversed(true); + assert(output != NULL); + + for (std::list::iterator i = n->providers().begin(); + i != n->providers().end(); ++i) + if (!(*i)->traversed()) + compile_recursive(*i, output); + + output->push_back(CompiledNode(n, n->providers().size(), n->dependants())); +} + /** Find the process order for this Patch. * * The process order is a flat list that the patch will execute in order -- cgit v1.2.1