diff options
author | David Robillard <d@drobilla.net> | 2008-11-24 02:49:25 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-11-24 02:49:25 +0000 |
commit | 5d213f69c2bed3a4059a78128780bb54ea17b4e3 (patch) | |
tree | cb924858c8537df2b627b206741fac628390c985 /src | |
parent | c1d9e518064719f16992477848f03b7449c8b908 (diff) | |
download | ingen-5d213f69c2bed3a4059a78128780bb54ea17b4e3.tar.gz ingen-5d213f69c2bed3a4059a78128780bb54ea17b4e3.tar.bz2 ingen-5d213f69c2bed3a4059a78128780bb54ea17b4e3.zip |
Fix loading connections in patches with subpatches (fix ticket #274).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1779 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r-- | src/serialisation/Parser.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp index 4e2035f1..e153a9a5 100644 --- a/src/serialisation/Parser.cpp +++ b/src/serialisation/Parser.cpp @@ -625,15 +625,17 @@ Parser::parse_connections( " ingen:destination ?dst .\n" "}"); + const string parent_base = (subject != "<>") ? "/" : parent.base(); + Redland::Query::Results results = query.run(*world->rdf_world, model, base_uri); for (Redland::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - string src_path = parent.base() + uri_relative_to_base(base_uri, (*i)["src"].to_string()); + const string src_path = parent_base + uri_relative_to_base(base_uri, (*i)["src"].to_string()); if (!Path::is_valid(src_path)) { cerr << "ERROR: Invalid path in connection: " << src_path << endl; continue; } - string dst_path = parent.base() + uri_relative_to_base(base_uri, (*i)["dst"].to_string()); + const string dst_path = parent_base + uri_relative_to_base(base_uri, (*i)["dst"].to_string()); if (!Path::is_valid(dst_path)) { cerr << "ERROR: Invalid path in connection: " << dst_path << endl; continue; |