summaryrefslogtreecommitdiffstats
path: root/src/serialisation
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-11-12 01:42:32 +0000
committerDavid Robillard <d@drobilla.net>2012-11-12 01:42:32 +0000
commitefd2fb1315413bb456cf5a7dc9a61513e15c8035 (patch)
tree15e3bcefe81b2efc4abdbeb57e8d86e88492e1b3 /src/serialisation
parentfd03de704187d45a8b3b84719d3dd64a1cfa553b (diff)
downloadingen-efd2fb1315413bb456cf5a7dc9a61513e15c8035.tar.gz
ingen-efd2fb1315413bb456cf5a7dc9a61513e15c8035.tar.bz2
ingen-efd2fb1315413bb456cf5a7dc9a61513e15c8035.zip
Fix edge restoration in subgraphs (fix #864).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4810 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/serialisation')
-rw-r--r--src/serialisation/Parser.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp
index f31343ec..a6036c32 100644
--- a/src/serialisation/Parser.cpp
+++ b/src/serialisation/Parser.cpp
@@ -383,7 +383,7 @@ parse_edge(Ingen::World* world,
Ingen::Interface* target,
Sord::Model& model,
const Sord::Node& subject,
- const Raul::Path& parent)
+ const Raul::Path& graph)
{
URIs& uris = world->uris();
@@ -426,7 +426,8 @@ parse_edge(Ingen::World* world,
return false;
}
- target->connect(Raul::Path(tail_str), Raul::Path(head_str));
+ target->connect(graph.child(Raul::Path(tail_str)),
+ graph.child(Raul::Path(head_str)));
return true;
}
@@ -436,13 +437,13 @@ parse_edges(Ingen::World* world,
Ingen::Interface* target,
Sord::Model& model,
const Sord::Node& subject,
- const Raul::Path& parent)
+ const Raul::Path& graph)
{
const Sord::URI ingen_edge(*world->rdf_world(), world->uris().ingen_edge);
const Sord::Node nil;
for (Sord::Iter i = model.find(subject, ingen_edge, nil); !i.end(); ++i) {
- parse_edge(world, target, model, i.get_object(), parent);
+ parse_edge(world, target, model, i.get_object(), graph);
}
return true;