diff options
author | David Robillard <d@drobilla.net> | 2012-11-12 01:42:32 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-11-12 01:42:32 +0000 |
commit | efd2fb1315413bb456cf5a7dc9a61513e15c8035 (patch) | |
tree | 15e3bcefe81b2efc4abdbeb57e8d86e88492e1b3 /src/serialisation | |
parent | fd03de704187d45a8b3b84719d3dd64a1cfa553b (diff) | |
download | ingen-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.cpp | 9 |
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; |