From 6719d2f4cf72fe833edcd0e0dd22fcf7f0e1091b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 29 Jan 2012 22:06:46 +0000 Subject: Fix duplicate plugin errors with multiple dynmanifests per bundle (fix #811). Use dynmanifest as context rather than bundle. Not sure if this will have other consequences... git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@3968 a436a847-0d15-0410-975c-d299462d15a1 --- src/world.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/world.c') diff --git a/src/world.c b/src/world.c index 8190c34..28a58c5 100644 --- a/src/world.c +++ b/src/world.c @@ -456,9 +456,10 @@ lilv_world_load_dyn_manifest(LilvWorld* world, rewind(fd); // Parse generated data file - SerdEnv* env = serd_env_new(sord_node_to_serd_node(bundle_node)); - SerdReader* reader = sord_new_reader( - world->model, env, SERD_TURTLE, bundle_node); + const SerdNode* base = sord_node_to_serd_node(dmanifest); + SerdEnv* env = serd_env_new(base); + SerdReader* reader = sord_new_reader( + world->model, env, SERD_TURTLE, sord_node_copy(dmanifest)); serd_reader_read_file_handle(reader, fd, (const uint8_t*)"(dyn-manifest)"); serd_reader_free(reader); @@ -473,7 +474,7 @@ lilv_world_load_dyn_manifest(LilvWorld* world, NULL, world->uris.rdf_a, world->uris.lv2_Plugin, - bundle_node); + dmanifest); FOREACH_MATCH(plug_results) { const SordNode* plugin_node = lilv_match_subject(plug_results); lilv_world_add_plugin(world, plugin_node, -- cgit v1.2.1