summaryrefslogtreecommitdiffstats
path: root/src/serialisation
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-11-24 02:49:25 +0000
committerDavid Robillard <d@drobilla.net>2008-11-24 02:49:25 +0000
commit5d213f69c2bed3a4059a78128780bb54ea17b4e3 (patch)
treecb924858c8537df2b627b206741fac628390c985 /src/serialisation
parentc1d9e518064719f16992477848f03b7449c8b908 (diff)
downloadingen-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/serialisation')
-rw-r--r--src/serialisation/Parser.cpp6
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;