summaryrefslogtreecommitdiffstats
path: root/src/serialisation
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialisation')
-rw-r--r--src/serialisation/Parser.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp
index 27110c9d..92577294 100644
--- a/src/serialisation/Parser.cpp
+++ b/src/serialisation/Parser.cpp
@@ -564,10 +564,15 @@ Parser::find_patches(Ingen::Shared::World* world,
std::list<PatchRecord> records;
for (Sord::Iter i = model.find(nil, rdf_type, ingen_Patch); !i.end(); ++i) {
- const Sord::Node patch = i.get_subject();
- Sord::Iter f = model.find(patch, rdfs_seeAlso, nil);
+ const Sord::Node patch = i.get_subject();
+ Sord::Iter f = model.find(patch, rdfs_seeAlso, nil);
+ std::string patch_uri_str = patch.to_c_string();
+ if (patch_uri_str[0] == '/') {
+ // FIXME: Kludge path to be a proper URI (not sure why this is happening)
+ patch_uri_str = string("file://") + patch_uri_str;
+ }
if (!f.end()) {
- records.push_back(PatchRecord(patch.to_c_string(),
+ records.push_back(PatchRecord(patch_uri_str,
f.get_object().to_c_string()));
} else {
LOG(error) << "Patch has no rdfs:seeAlso" << endl;