diff options
Diffstat (limited to 'src/serialisation/Parser.cpp')
-rw-r--r-- | src/serialisation/Parser.cpp | 11 |
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; |