summaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-18 02:22:39 +0000
committerDavid Robillard <d@drobilla.net>2007-09-18 02:22:39 +0000
commit33f66f46c1f1e9774e5b59a9637d2bfabd700394 (patch)
treed3385939bb5522995d0c03c58aa43eb5cc9f9197 /src/libs
parent522f76df63657baa81cc2bedc7cc2c37679624ff (diff)
downloadingen-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/libs')
-rw-r--r--src/libs/engine/Patch.cpp7
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));