aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-03-08 18:36:11 -0500
committerDavid Robillard <d@drobilla.net>2018-03-08 18:36:11 -0500
commitd35f222ac3ae5828f028b4158aaeb8017227f7ce (patch)
tree7659a0098924bd9e4fb704ba11cdfde677ae33d4 /src
parent1f3ea3054b7fe191431c012c92fbcd9e2ee771b6 (diff)
downloadingen-d35f222ac3ae5828f028b4158aaeb8017227f7ce.tar.gz
ingen-d35f222ac3ae5828f028b4158aaeb8017227f7ce.tar.bz2
ingen-d35f222ac3ae5828f028b4158aaeb8017227f7ce.zip
Fix cut/copy/paste of arcs
Diffstat (limited to 'src')
-rw-r--r--src/Parser.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Parser.cpp b/src/Parser.cpp
index 291b8851..fe58d995 100644
--- a/src/Parser.cpp
+++ b/src/Parser.cpp
@@ -565,16 +565,18 @@ parse(Ingen::World* world,
const Sord::Node& s = i.first;
const std::set<Sord::Node>& types = i.second;
boost::optional<Raul::Path> ret;
- const Raul::Path rel_path(*get_path(base_uri, s));
- const Raul::Path path = parent ? parent->child(rel_path) : rel_path;
if (types.find(graph_class) != types.end()) {
ret = parse_graph(world, target, model, base_uri,
s, Resource::Graph::INTERNAL,
parent, symbol, data);
} else if (types.find(block_class) != types.end()) {
+ const Raul::Path rel_path(*get_path(base_uri, s));
+ const Raul::Path path = parent ? parent->child(rel_path) : rel_path;
ret = parse_block(world, target, model, base_uri, s, path, data);
} else if (types.find(in_port_class) != types.end() ||
types.find(out_port_class) != types.end()) {
+ const Raul::Path rel_path(*get_path(base_uri, s));
+ const Raul::Path path = parent ? parent->child(rel_path) : rel_path;
parse_properties(world, target, model,
s, Resource::Graph::DEFAULT,
path_to_uri(path), data);