summaryrefslogtreecommitdiffstats
path: root/src/Serialiser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Serialiser.cpp')
-rw-r--r--src/Serialiser.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/Serialiser.cpp b/src/Serialiser.cpp
index 70a1d286..c6d1bb59 100644
--- a/src/Serialiser.cpp
+++ b/src/Serialiser.cpp
@@ -356,10 +356,12 @@ Serialiser::Impl::serialise_graph(SPtr<const Node> graph,
std::set<const Resource*> plugins;
- const Store::const_range kids = _world.store()->children_range(graph);
- for (Store::const_iterator n = kids.first; n != kids.second; ++n) {
- if (n->first.parent() != graph->path())
+ for (Store::const_iterator n = _world.store()->find_first_child(graph);
+ n != _world.store()->end() && n->first.is_child_of(graph->uri());
+ ++n) {
+ if (uri_to_path(n->first).parent() != graph->path()) {
continue;
+ }
if (n->second->has_property(uris.rdf_type, uris.ingen_Graph)) {
const SPtr<const Node> subgraph = n->second;
@@ -465,10 +467,12 @@ Serialiser::Impl::serialise_block(SPtr<const Node> block,
}
}
- const Store::const_range kids = _world.store()->children_range(block);
- for (Store::const_iterator n = kids.first; n != kids.second; ++n) {
- if (n->first.parent() != block->path())
+ for (Store::const_iterator n = _world.store()->find_first_child(block);
+ n != _world.store()->end() && n->first.is_child_of(block->uri());
+ ++n) {
+ if (uri_to_path(n->first).parent() != block->path()) {
continue;
+ }
if (n->second->has_property(uris.rdf_type, uris.lv2_InputPort) ||
n->second->has_property(uris.rdf_type, uris.lv2_InputPort)) {