diff options
author | David Robillard <d@drobilla.net> | 2007-09-18 02:22:39 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-18 02:22:39 +0000 |
commit | 33f66f46c1f1e9774e5b59a9637d2bfabd700394 (patch) | |
tree | d3385939bb5522995d0c03c58aa43eb5cc9f9197 /src | |
parent | 522f76df63657baa81cc2bedc7cc2c37679624ff (diff) | |
download | ingen-33f66f46c1f1e9774e5b59a9637d2bfabd700394.tar.gz ingen-33f66f46c1f1e9774e5b59a9637d2bfabd700394.tar.bz2 ingen-33f66f46c1f1e9774e5b59a9637d2bfabd700394.zip |
Fix possibility of partially compiled patches.
git-svn-id: http://svn.drobilla.net/lad/ingen@719 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/engine/Patch.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/engine/Patch.cpp b/src/libs/engine/Patch.cpp index 09c638e9..a03f2415 100644 --- a/src/libs/engine/Patch.cpp +++ b/src/libs/engine/Patch.cpp @@ -388,6 +388,13 @@ Patch::compile() const compile_recursive(node, compiled_patch); } + // Traverse any nodes we didn't hit yet + for (Raul::List<Node*>::const_iterator i = _nodes.begin(); i != _nodes.end(); ++i) { + Node* const node = (*i); + if ( ! node->traversed()) + compile_recursive(node, compiled_patch); + } + /*cerr << "----------------------------------------\n"; for (size_t i=0; i < process_order->size(); ++i) { assert(process_order->at(i)); |